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

    Нет, как lvalue expression, т.е. выражение, которое может стоять слева от оператора присваивания.
    Отличие (i) от i в том, что i - это переменная, к примеру, а (i) - это выражение.
      что такое "derived-declarator-type-list" ?
      в составе "derived-declarator-type-list T"
      или "derived-declarator-type-list reference to T"

      В предложении
      ExpandedWrap disabled
        In a declaration T D where D has either of the forms
        & D1
        && D1
        and the type of the identifer in the declaration T D1 is “derived-declarator-type-list T,” then the type of the
        identi?er of D is “derived-declarator-type-list reference to T.”
      Сообщение отредактировано: Большой -
        Так, ну вот. Зарелизили gcc 4.4.0. Из вкусностей C++0x, которые можно попробовать:
        - Extending variadic template template parameters
        - Initializer lists
        - auto-typed variables (!!!)
        - Removal of auto as a storage-class specifier
        - New function declarator syntax (в рамках auto)
        - Solving the SFINAE problem for expressions
        - Strongly-typed enums
        - Defaulted and deleted functions
        - Inline namespaces

        В качестве отдельных патчей:
        - Delegating constructors
        - Lambda expressions and closures
        - Concepts

        (последние два - в активной разработке).

        Любителям TDM-сборок MinGW придется немножко подождать... Сколько - не известно... :(
          Цитата archimed7592 @
          T &rt = t; // lvalue reference
          T &rrt = t; // rvalue reference


          что-то я не вижу разницы между этими двумя объявлениями или упустил что-то из виду?
          Сообщение отредактировано: Большой -
            Цитата archimed7592 @
            void g(long & a1)
            {
            ++a1;
            }

            template<class A1> void f(A1 && a1)
            {
            g(static_cast<A1 &&>(a1));
            }

            int i = 5;
            g(i); //fails - int & to long & - запрещённый каст ещё в C++03
            f(i); //fails
            // A1 выводится(deduced) как int &


            непонял
            а почему int& а не просто int
              Цитата Flex Ferrum @
              Зарелизили gcc 4.4.0.
              ...
              В качестве отдельных патчей:
              - Delegating constructors
              - Lambda expressions and closures
              - Concepts

              Известно когда их с основной веткой объединят? Особенно lambda интересует.
                archimed7592
                Проверил под COdegear 2009

                ExpandedWrap disabled
                  void g(long & a1)
                  {
                      ++a1;
                  }
                   
                  template<class A1> void f(A1 && a1)
                  {
                      g(static_cast<A1 &&>(a1));
                  }

                ExpandedWrap disabled
                  long i = 5;
                  g(i);
                  f(i); //7
                  f<long>(i); //8
                  f<long&>(i); //9
                  f<long&&>(i); //10

                Ответ для всех версий одинаков в переменной i всегда инкрементируемое значение
                  Цитата Большой @
                  Ответ для всех версий одинаков в переменной i всегда инкрементируемое значение

                  Так и должно быть. Это же forwarding. Представь, что ты каждый раз вызываешь g.
                    archimed7592
                    Интересно звучит, а понять как?
                      Кто разобрался в новом стандарте, поясните. Я правильно пинимаю, что rvalue-ссылки позволяют создавать операторы переноса operator=(T && t) в дополнение к операторам копирования operator=(const T & t) и как только такое будет реализовано для контейнеров стандартной библиотеки код типа нижеприведённого резко ускорится без модификаций?
                      ExpandedWrap disabled
                        vector < vector<char> > vv;
                        vv.push_back(vector<char>(100000));
                        Цитата Леголегс @
                        Кто разобрался в новом стандарте, поясните. Я правильно пинимаю, что rvalue-ссылки позволяют создавать операторы переноса operator=(T && t) в дополнение к операторам копирования operator=(const T & t) и как только такое будет реализовано для контейнеров стандартной библиотеки код типа нижеприведённого резко ускорится без модификаций?

                        По-идее, да.
                          Цитата Flex Ferrum @
                          Любителям TDM-сборок MinGW придется немножко подождать... Сколько - не известно..

                          GCC 4.4.0 для винды, сам гцц, без всего пакета mingw. Но для поиграться или отладить что-то по-быстрому самое то.


                          Цитата pan2004 @
                          Известно когда их с основной веткой объединят? Особенно lambda интересует.

                          Вот это и меня интересует. И вообще, может кто в курсе плана развития гцц? Типа, что будет в след. версии, когда и тюпю.

                          Вот, кстати, ссылка на состояние поддержки С++0х в различных компиляторах: тыц. Познавательно. Хотя мне непонятно, почему никто до сих пор не поддерживает nullptr.
                            Похоже стандарт только в 2011 году появится
                              Да, не раньше :wall: Разработчикам стандартной библиотеки есть время накодить и отладить даже по бумажке.
                                какие есть реальные препятствия тому, чтобы Стандарт появился в этом году?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (78) « Первая ... 17 18 [19] 20 21 ...  77 78


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