На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (78) « Первая ... 36 37 [38] 39 40 ...  77 78  ( Перейти к последнему сообщению )  
> Текущий Стандарт С++ и перспективы его развития
    Бинарник будет непереносим, хоя если не требуеться чтобы работало везеде то...
      мне кажется новый стандарт будет ужасный (в плане синтаксиса и восприятия кода и оставленных старых вещей позади) .
      За погоней совместимости с программами написанными на С++99 новые возможности это чаще всего новые ключевые слова.

      Вот допустим enum, новый enum class. Зачем спрашивается вводить еще одно ключевое слово. Нет чтобы данный enum сделать таким как должен работать enum class, а получается что если так сделать то скорее всего все пойдет в старых проектах через .опу. Поэтому только из за совместимости. При введение нового enum class, наверно никто уже старым пользоваться не будет, т.е старая версия enum будет болтаться просто так. Вроде бы и не мешает, а загромождает.

      Да и вообще синтаксис нового стандарта, тоже не из лучших. Взять допустим rvalue - && 2 амперсанда это же дико. Не фига не читаем.

      В общем, понятно, что мои возмущения это как в воздух пукать. Но все равно, могли бы что нибудь и по умнее придумать, для моего восприятия это еще куча новых слов и еще большая нечитаемость для &&, потом 3 введут в следующем стандарте что ли??. бррр
        Цитата евгений_олегович @
        Вот допустим enum, новый enum class. Зачем спрашивается вводить еще одно ключевое слово. Нет чтобы данный enum сделать таким как должен работать enum class, а получается что если так сделать то скорее всего все пойдет в старых проектах через .опу. Поэтому только из за совместимости. При введение нового enum class, наверно никто уже старым пользоваться не будет, т.е старая версия enum будет болтаться просто так. Вроде бы и не мешает, а загромождает.

        Ага. Сделаешь так, а потом членов комитета будут линчевать на медленном огне за потерю совместимости со старым кодом. Страуструп про это очень красочно рассказывал. Требование обратной совместимости кода - очень жёсткое, и отступают от него только тогда, когда иначе сделать совсем никак нельзя.

        Цитата евгений_олегович @
        Но все равно, могли бы что нибудь и по умнее придумать, для моего восприятия это еще куча новых слов и еще большая нечитаемость для &&, потом 3 введут в следующем стандарте что ли??. бррр

        Опять же процитирую Страуструпа (вольно): "Вы знаете как сделать это лучше? Я вам могу уступить своё место!"

        На самом деле, с читаемостью кода всё нормально. Сначала да - немного непривычно, потом глаз "набивается", и всё становится нормально.
          Цитата евгений_олегович @
          && 2 амперсанда это же дико. Не фига не читаем.
          && || == //
          Это только символы одиночных операций из двух одинаковых символов.
            Кстати, про новый стандарт. Правильно ли я понимаю, что теперь аллокаторы таки будут иметь состояние, т.е. пообъектную информацию?
              Цитата MyNameIsIgor @
              Правильно ли я понимаю, что теперь аллокаторы таки будут иметь состояние, т.е. пообъектную информацию?

              В смысле?

              Добавлено
              Ага! В gcc 4.6 будут constexpr'ы! Ура, товарищи! :)
                Цитата
                В смысле?

                я так понимаю, имелась в виду страница 363:
                Цитата
                Implementations of containers described in this International Standard are permitted to assume that their
                Allocator template parameter meets the following two additional requirements beyond those in Table 32:
                — All instances of a given allocator type are required to be interchangeable and always compare equal to each other.
                ...
                Сообщение отредактировано: Radagast -
                  Цитата Radagast @
                  я так понимаю, имелась в виду страница 363:

                  Ну так это цитата из действующего стандарта. Я, видимо, что-то не понимаю?
                    Radagast, ага, так в текущем стандарте. А в новом есть, например, такое
                    Цитата 23.3.4.4 list operations /2
                    list provides three splice operations that destructively move elements from one list to another. The behavior
                    of splice operations is undefined if get_allocator() != x.get_allocator().

                    Только я ещё не разобрался с хитросплетениями allocator_traits, scoped_allocator и их использования контейнерами :) Думал, что кто-то уже всё понял и сможет объяснить :)

                    Добавлено
                    Flex Ferrum, дело всё в том, что в новом стандарте сравнение аллокаторов будет настоящим, а не бутафорским. Т.е. сравниваться будут именно экземпляры аллокаторов.
                    Сообщение отредактировано: MyNameIsIgor -
                      Цитата MyNameIsIgor @
                      Flex Ferrum, дело всё в том, что в новом стандарте сравнение аллокаторов будет настоящим, а не бутафорским. Т.е. сравниваться будут именно экземпляры аллокаторов.

                      Эммм... А в силу действующего стандарта оно было именно бутафорским? Ссылочки можно? :)
                        Flex Ferrum, эммм... А каким? Ссылочку Radagast привёл. Все контейнеры опираются на то, что все экземпляры конкретного типа аллокатора взаимозаменяемы, т.е. их нет смысла сравнивать - они всегда равны друг другу. И в текущем стандарте нет оговорки, которую я привёл выше для splice.
                        Т.е. сейчас важен именно тип аллокатора. В новом стандарте важен и его экземпляр.
                        Сообщение отредактировано: MyNameIsIgor -
                          Цитата MyNameIsIgor @
                          Flex Ferrum, эммм... А каким? Ссылочку Radagast привёл. Все контейнеры опираются на то, что все экземпляры конкретного типа аллокатора взаимозаменяемы, т.е. их нет смысла сравнивать - они всегда равны друг другу. И в текущем стандарте нет оговорки, которую я привёл выше для splice.
                          Т.е. сейчас важен именно тип аллокатора. В новом стандарте важен и его экземпляр.

                          Да, точно. Что-то я туплю.

                          Сообщения были разделены в тему "зачистка диска"
                            Ну что ж, уважаемые коллеги. Я вас всех поздравляю вот с этим событием. Сенкс niXman-у за ссылку.
                              Qraizer, не за что. прими мои поздравления.
                              вообще-то, я сам сильно обрадовался. да так, что прикупил бутылочку хорошего вина, и со своей половинкой, вдвоем, мы это событие и отметили :whistle:

                              детальный список: http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.200x

                              всем мои поздравления.
                              Сообщение отредактировано: niXman -
                                Ура, товарищи!

                                Добавлено
                                Тогда уж (до кучи): GCC 4.6 Released. Поддержка им новых фич стандарта перечислена здесь.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (78) « Первая ... 36 37 [38] 39 40 ...  77 78


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0647 ]   [ 16 queries used ]   [ Generated: 21.06.25, 10:45 GMT ]