На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (81) « Первая ... 40 41 [42] 43 44 ...  80 81  ( Перейти к последнему сообщению )  
> Текущий Стандарт С++ и перспективы его развития
    Концепты оказались очень серьёзной для реализации фичей. Их не удалили, а отложили до более спокойных времён.
      Получается, что и сказать нечего, а так радовались.
      Ладно, буду и дальше пользоваться старым С++.
        Цитата prografix @
        Получается, что и сказать нечего, а так радовались.
        Ладно, буду и дальше пользоваться старым С++.
        42я страница. Флуда почти нет, уверен и этот скоро снесут. Открывай с первой и читай. Мало -- открывай последний доступный черновик, читай там.
          печально то, что concept gcc вроде как забросили, а др подвижек в этом направлении не видно :(
            А всё-таки, что ни говори, а новые фишки стандарта упрощают код и разработку.
              Цитата Flex Ferrum @
              А всё-таки, что ни говори

              как-то не уверенно звучит ;)
                Цитата niXman @
                как-то не уверенно звучит ;)

                Ну, в интернете (например, на том же хабре) можно встретить много критики в адрес нового стандарта. Но, как говориться, критикуй, не критикуй, а код выглядит таки проще.
                  Цитата Flex Ferrum @
                  много критики в адрес нового стандарта.

                  а критики в адрес прошлого стандарта меньше? ;)
                  или вообще критики с++ ;)
                    Цитата niXman @
                    а критики в адрес прошлого стандарта меньше? ;)
                    или вообще критики с++ ;)

                    :D
                      Цитата Qraizer @
                      отложили до более спокойных времён.

                      поясни.

                      Добавлено
                      до каких таких спокойных?
                      и что специфичного в концептах?
                        Для примера.
                        Было:

                        ExpandedWrap disabled
                          xstl::Collection<IUnitRace*> races = LocalGameServer::GetGameStartingOptions()->Races();
                          m_StoredWizards = *LocalGameServer::GetGameStartingOptions()->StoredWizards;
                           
                          xstl::Collection<IUnitRace*>::const_iterator p = races.cbegin(), e = races.cend();
                           
                          for (; p != e; ++ p)
                              ui.m_StartRace->addItem(QString::fromStdString((*p)->RaceName()));


                        Стало:

                        ExpandedWrap disabled
                          auto const& races = m_StartingOptions->Races();
                          m_StoredWizards = *LocalGameServer::GetGameStartingOptions()->StoredWizards;
                           
                          BOOST_AUTO_FOREACH(race, races)
                              ui.m_StartRace->addItem(QString::fromStdString(race->RaceName()));


                        BOOST_AUTO_FOREACH - это от "хорошей" жизни на VS 2010. В gcc это был бы range-for-loop.
                          Flex Ferrum, что правда, что микрософт не собирается реализовывать стандарт полностью? или они только отложили реализацию?
                            Цитата niXman @
                            Flex Ferrum, что правда, что микрософт не собирается реализовывать стандарт полностью? или они только отложили реализацию?

                            Ну, я так понимаю, работу над компилем из VS 2010 (основным) они закончили году в 2009-ом. Дальше был только багфикс. По этому из нового стандарта туда попало немного... Ждём 2012-ыйvNext. :)
                            Сообщение отредактировано: Flex Ferrum -
                              Цитата Flex Ferrum @
                              Ждём 2012-ый.

                              все таки надежда есть..
                                niXman, концепты были призваны в явном виде описывать контракты. Очень восстребовано при статическом полиморфизме и вообще при жёстком обобщённом программировании, где шаблон на шаблоне и шаблоном погоняет. Сейчас контракты описываются либо в документации, либо никак. Концепты могли, во-первых, рассказать программисту об этих контрактах без необходимости лазать в мануалы, и во-вторых, предоставить компилятору информацию об этих контрактах. Последнее наиболее значимо, ибо он в результате становился способным выдавать диагностику на ранних стадиях второго этапа компиляции шаблона в точке инстанцирования. Если сейчас не редкость увидеть километровую диагностику со ссылкой куда-то вглубь приватных частей реализации шаблона, то при концептах компилер просто заранее бы, ещё до инстанцирования, их проверил и сразу б выдал ошибку со ссылкой на нарушаемый аргументами контракт.
                                Однако контракты могут разными. Попытки даже описать концепты для всякоразных мыслимых видов контрактов и реализовать их хоть в каком-то виде показали, что если иметь возможность любые мыслимые контракты описывать концептами, то они будут требовать от реализаций по сути поддержки парадигмы декларативного программирования. Это иначе чем революцией назвать сложно. Поддержка функциональной парадигмы семечки по сравнению с концептами. В общем, комитет решил удалить концепты из текущего рассматриваемого драфта и вернуться к ним позже. Иначе C++1x рисковал либо выйти сильно после конца света, либо с концептами только на бумаге, как по сути случилось с экспортом шаблонов.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (81) « Первая ... 40 41 [42] 43 44 ...  80 81


                                Рейтинг@Mail.ru
                                [ Script execution time: 1,5615 ]   [ 16 queries used ]   [ Generated: 6.11.25, 00:39 GMT ]