
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (78) « Первая ... 25 26 [27] 28 29 ... 77 78 ( Перейти к последнему сообщению ) |
Сообщ.
#391
,
|
|
|
Я так понимаю из буста в новый стандарт перекочует shared_ptr.
Но интересно в каком пространстве имен он будет? И в чем его основные отличия от unique_ptr? |
![]() |
Сообщ.
#392
,
|
|
Цитата Большой @ Но интересно в каком пространстве имен он будет? std Цитата Большой @ И в чем его основные отличия от unique_ptr? unique_ptr - это эволюция auto_ptr и к shared_ptr он практически никак не относится. |
Сообщ.
#393
,
|
|
|
т.е. они фактически дали auto_ptr-у правильное название?
интересно, а до алгоритмов типа remove_if у них руки дойдут? |
![]() |
Сообщ.
#394
,
|
|
Цитата Бобёр @ т.е. они фактически дали auto_ptr-у правильное название? Не совсем. Там решён ряд синтаксически-семантических проблем. Цитата Бобёр @ интересно, а до алгоритков типа remove_if у них руки дойдут? ![]() |
Сообщ.
#395
,
|
|
|
Цитата Бобёр @ remove_if так подожди у них проблема вроде была с copy_if Цитата archimed7592 @ unique_ptr - это эволюция auto_ptr и к shared_ptr он практически никак не относится. Это я знаю они семантику перемещения на семантику копирования переладили, но от шареда чем отличаются? |
Сообщ.
#396
,
|
|
|
Цитата Большой @ но от шареда чем отличаются? Тем, что не shared. ![]() |
![]() |
Сообщ.
#397
,
|
|
Цитата Большой @ Это я знаю они семантику перемещения на семантику копирования переладили, но от шареда чем отличаются? Ты это не знаешь. Во-первых, наоборот, семантику перемещения добавили, а не заменили, но её добавили по всей стандартной библиотеке, так что я не её имел ввиду. Во-вторых, как я уже сказал, к shared_ptr он практически никак не относится. Проще было бы рассказать что такое shared_ptr и что такое unique_ptr, чем перечислять их отличия. Информацию и о том и о другом можно найти в документации Boost'а. |
Сообщ.
#398
,
|
|
|
Цитата archimed7592 @ Информацию и о том и о другом можно найти в документации Boost'а. По поводу unique_ptr'а ты там ничего не найдешь, ЕМНИП. unique_ptr в бусте есть только в interprocess, и выковырять его оттуда (безболезненно) практически анрил. |
![]() |
Сообщ.
#399
,
|
|
Если честно, я точно не помню где я про unique_ptr proposal читал...
|
Сообщ.
#400
,
|
|
|
Цитата Бобёр @ интересно, а до алгоритмов типа remove_if у них руки дойдут? а что там за проблемы были? |
![]() |
Сообщ.
#401
,
|
|
Цитата miksayer @ а что там за проблемы были? Имя не совсем соответствует действительности ![]() |
Сообщ.
#402
,
|
|
|
Цитата archimed7592 @ найти в документации Boost'а. да и в драфте есть, только лень читать было думал может кто так скажет |
Сообщ.
#403
,
|
|
|
Хех.
unique_ptr - пере/до-работанный auto_ptr, который deprecated, вместе со stringstream. В двух словах - у unique_ptr семантика перемещения (объектом владеет только один умный указатель), а shared_ptr имеет семантику разделения (один объект могут иметь/разделять много умных указателей). Из доработов первого: - семантика перемещения (rvalue-references) - deleter'ы (функции/функторы, отвечающие за удаление объекта: в комплекте идут delete и delete[], можно задавать собственные) - поддержка конвертируемых типов с корректным удалением: ![]() ![]() struct A{}; struct B: A{}; std::unique_ptr<A> p(new B()); // или вообще, unique_ptr<void>. p.reset(); // delete pB По shared_ptr читайте в TR1/Boost. |
Сообщ.
#404
,
|
|
|
а зачем нужно было депрекейтить stringstream? оО
|
Сообщ.
#405
,
|
|
|
Цитата Radagast @ а зачем нужно было депрекейтить stringstream? оО Он давным давно такой, просто до сих пор не "отсохнет". ![]() |