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

      std

      Цитата Большой @
      И в чем его основные отличия от unique_ptr?

      unique_ptr - это эволюция auto_ptr и к shared_ptr он практически никак не относится.
        т.е. они фактически дали auto_ptr-у правильное название?
        интересно, а до алгоритмов типа remove_if у них руки дойдут?
        Сообщение отредактировано: Бобёр -
          Цитата Бобёр @
          т.е. они фактически дали auto_ptr-у правильное название?

          Не совсем. Там решён ряд синтаксически-семантических проблем.


          Цитата Бобёр @
          интересно, а до алгоритков типа remove_if у них руки дойдут?

          :lol:
            Цитата Бобёр @
            remove_if


            так подожди у них проблема вроде была с copy_if

            Цитата archimed7592 @
            unique_ptr - это эволюция auto_ptr и к shared_ptr он практически никак не относится.

            Это я знаю они семантику перемещения на семантику копирования
            переладили, но от шареда чем отличаются?
              Цитата Большой @
              но от шареда чем отличаются?

              Тем, что не shared. :)
                Цитата Большой @
                Это я знаю они семантику перемещения на семантику копирования
                переладили, но от шареда чем отличаются?

                Ты это не знаешь.
                Во-первых, наоборот, семантику перемещения добавили, а не заменили, но её добавили по всей стандартной библиотеке, так что я не её имел ввиду.
                Во-вторых, как я уже сказал, к shared_ptr он практически никак не относится. Проще было бы рассказать что такое shared_ptr и что такое unique_ptr, чем перечислять их отличия. Информацию и о том и о другом можно найти в документации Boost'а.
                  Цитата archimed7592 @
                  Информацию и о том и о другом можно найти в документации Boost'а.

                  По поводу unique_ptr'а ты там ничего не найдешь, ЕМНИП. unique_ptr в бусте есть только в interprocess, и выковырять его оттуда (безболезненно) практически анрил.
                    Если честно, я точно не помню где я про unique_ptr proposal читал...
                      Цитата Бобёр @
                      интересно, а до алгоритмов типа remove_if у них руки дойдут?

                      а что там за проблемы были?
                        Цитата miksayer @
                        а что там за проблемы были?

                        Имя не совсем соответствует действительности :). В реальности remove ничего не удаляет.
                          Цитата archimed7592 @
                          найти в документации Boost'а.

                          да и в драфте есть, только лень читать было
                          думал может кто так скажет
                            Хех.

                            unique_ptr - пере/до-работанный auto_ptr, который deprecated, вместе со stringstream.
                            В двух словах - у unique_ptr семантика перемещения (объектом владеет только один умный указатель), а shared_ptr имеет семантику разделения (один объект могут иметь/разделять много умных указателей).

                            Из доработов первого:
                            - семантика перемещения (rvalue-references)
                            - deleter'ы (функции/функторы, отвечающие за удаление объекта: в комплекте идут delete и delete[], можно задавать собственные)
                            - поддержка конвертируемых типов с корректным удалением:
                            ExpandedWrap disabled
                              struct A{};
                              struct B: A{};
                              std::unique_ptr<A> p(new B()); // или вообще, unique_ptr<void>.
                              p.reset(); // delete pB


                            По shared_ptr читайте в TR1/Boost.
                              а зачем нужно было депрекейтить stringstream? оО
                                Цитата Radagast @
                                а зачем нужно было депрекейтить stringstream? оО

                                Он давным давно такой, просто до сих пор не "отсохнет". :)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (78) « Первая ... 25 26 [27] 28 29 ...  77 78


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0624 ]   [ 16 queries used ]   [ Generated: 20.06.25, 07:59 GMT ]