На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (78) « Первая ... 19 20 [21] 22 23 ...  77 78  ( Перейти к последнему сообщению )  
> Текущий Стандарт С++ и перспективы его развития
    Цитата Flex Ferrum @
    Любителям TDM-сборок MinGW придется немножко подождать... Сколько - не известно...


    ура появились
      Цитата Большой @
      ура появились

      Ага. Достаточно давно уже. Я тут еще из их репозитория выкачал бранч с поддержкой лямбд - тоже весьма зачетно. Хотя при сборке (под виндой) без бубна не обошлось. :)
        Цитата Flex Ferrum @
        Я тут еще из их репозитория выкачал бранч с поддержкой лямбд - тоже весьма зачетно

        И насколько они там развиты? К gcc 4.5 включить их в основную ветку могут?
        Сообщение отредактировано: pan2004 -
          Цитата pan2004 @
          И насколько они там развиты?

          Ну, простые случаи работает. А вглубь не копал.
            Итак, на последней встрече во Франкфурте комитет проголосовал за то, чтобы Concepts были исключены из текущего драфта стандарта:
            Цитата
            On Monday, July 13th 2009 Concepts were dramatically voted out of C++0x during the C++ standards committee meeting in Frankfurt. This shocking news raises many questions and concerns. Unquestionably, these will be discussed in various forums in coming weeks and months. However, I will try to answer three burning questions here: What led to the failure of Concepts? How will the removal of Concepts affect C++0x? Will Concepts make a comeback in the near future?

            http://www.informit.com/guides/content.asp...plus&seqNum=441

            Комментарий из списка рассылки comp.std.c++:
            Цитата
            The Committee voted to remove concepts from the version of the standard
            now being worked on because we estimated it would take at least 2 more
            years, and possibly 5, to complete the work and publish.

            With many other desirable features ready to go, and with the current
            standard already more than 10 years old, that seemed too long a delay.

            The choice was difficult, and nobody was happy about having to drop
            concepts, but the alternatives -- 5 years delay or standardizing an
            unusable version of concepts -- were far worse.

            Removing concepts will take some time, so the publication date of the
            new standard might slip by 3 months or so, due specifically to the
            removal of concepts. As Beman noted in an earlier message, we had to
            lengthen our schedule still more for other reasons.

            The Committee still wants concepts in C++, and will continue developing
            it in anticipation of the next update of the standard.

            The Removal of Concepts From C++0x

            Так что в принципе, не все так плохо.

            Если кто-то кинет ссылку на полный review их франкфуртской встречи - будет просто супер!
              Цитата Flex Ferrum @
              Concepts

              а что это такое? киньте, пожалуйста, ссылку, где можно почитать
                Цитата miksayer @
                а что это такое? киньте, пожалуйста, ссылку, где можно почитать

                www.open-std.org
                  ExpandedWrap disabled
                    class T {
                        public:
                            void foo() const &&
                            {
                            }
                    };

                  в данном методе this будет иметь тип const T &&this? а то в 9.3.2 ничего не написано про ref-qualifier.
                    Цитата DEADHUNT @
                    ExpandedWrap disabled
                      class T {
                          public:
                              void foo() const &&
                              {
                              }
                      };

                    в данном методе this будет иметь тип const T &&this?

                    В данном методе выражение this (если его туда поместить) - это rvalue типа T const *.

                    Цитата DEADHUNT @
                    а то в 9.3.2 ничего не написано про ref-qualifier.

                    Раз не написано, значит, на тип this он никак не влияет.
                      Цитата Masterkent @
                      Раз не написано, значит, на тип this он никак не влияет.

                      как это не влиет, если ref-qualifier предназначен для non-static class member.
                      Сообщение отредактировано: DEADHUNT -
                        Цитата DEADHUNT @
                        как это не влиет, если ref-qualifier предназначен для non-static class member.

                        А зачем ему влиять на тип this? :huh: Он предназначен для различения lvalue и rvalue, передаваемых в качестве implied object argument, - по аналогии с обычными аргументами функции:

                        ExpandedWrap disabled
                          struct X
                          {
                              static void f(X const &);
                              static void f(X &&);
                              void g() const &; // type of implicit object parameter is X const &
                              void g() &&;      // type of implicit object parameter is X &&
                          };
                           
                          void h()
                          {
                              X x;
                              X::f(x);   // calls f(X const &)
                              X::f(X()); // calls f(X &&)
                              x.g();     // calls g() const &
                              X().g();   // calls g() &&
                          }

                        this тут не при делах вообще.
                        Сообщение отредактировано: Masterkent -
                          Цитата Masterkent @
                          this тут не при делах вообще.

                          спасибо за примеры, буду разбираться.
                            А, вот ты про что...
                            Дык, что касается ругательств только GCC - сам же привёл про "no diagnostic is required", чего ты от компиляторов хочешь...
                            А к (1) приведенные тобой цитаты не подошьёшь, т.к. имя i в аргументе по умолчанию однозначно ссылается на член класса (см выше про "an unqualified name that occurs, for instance, in a type or default argument expression in the parameter-declaration-clause")
                              Цитата Hryak @
                              А к (1) приведенные тобой цитаты не подошьёшь

                              как же нет, при первом просмотре ссылка идёт на ::i, а имея complete scope уже на X::i, и как раз получается 2) пункт.
                              Цитата Hryak @
                              сам же привёл про "no diagnostic is required", чего ты от компиляторов хочешь...

                              то есть error это слишком строго, лучше warning а какого уровня(1-4)?
                              Сообщение отредактировано: DEADHUNT -
                                Цитата DEADHUNT @
                                при первом просмотре ссылка идёт на ::i, а имея complete scope уже на X::i, и как раз получается 2) пункт.

                                Нет там никаких первых и вторых просмотров для аргумента по умолчанию, просто "shall be a member of class X or be a member of a base class of X". Это для использования в определении класса "before its use in class X".

                                Цитата DEADHUNT @
                                то есть error это слишком строго

                                Да не слишком строго, "the program"-то "is ill-formed"...
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (78) « Первая ... 19 20 [21] 22 23 ...  77 78


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0582 ]   [ 16 queries used ]   [ Generated: 19.06.25, 14:52 GMT ]