Результаты поиска по запросу "shared-ptr"

1 ответ

Почему нет специализации std :: shared_ptr <T []>?

Стандарт предусматривает шаблон специализацииstd::unique_ptr который правильно называетdelete[] от его деструктора: void func() { std::unique_ptr< int[] > arr(new int[10]); ....... }С участиемstd::shared_ptr эта специализация недоступна, поэтому ...

3 ответа

std :: shared_ptr объяснил безопасность потока

я читаюhttp://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html [http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html]и некоторые проблемы безопасности потока все еще не ясны для меня: Стандарт гарантирует, что подсчет ссылок ...

4 ответа

Как реализован std :: tr1 :: shared_ptr?

Я думал об использовании общих указателей, и я знаю, как реализовать один сам - не хочу делать это, поэтому я пытаюсьstd::tr1::shared_ptrи у меня есть пара вопросов ... Как осуществляется подсчет ссылок? Использует ли он двусвязный список? ...

ТОП публикаций

1 ответ

boost :: weak_ptr <T> .lock () Сбои с ошибкой сегментации SIGSEGV

(РЕДАКТИРОВАТЬ) Окружающая среда: plee@sos-build:/usr/local/include/boost$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 11.10 Release: 11.10 Codename: oneiric plee@sos-build:/usr/local/include/boost$ ...

2 ответа

Почему unique_ptr принимает два параметра шаблона, а shared_ptr принимает только один?

Обеunique_ptr [http://www.cplusplus.com/reference/memory/unique_ptr/]а также shared_ptr [http://www.cplusplus.com/reference/memory/shared_ptr/shared_ptr/] принять пользовательский деструктор для вызова объекта, которым они владеют. Но в ...

4 ответа

Передача shared_ptr <Derived> как shared_ptr <Base>

Каков наилучший способ пройтиshared_ptr производного типа к функции, которая принимаетshared_ptr базового типа? Я вообще прохожуshared_ptrs по ссылке, чтобы избежать ненужной копии: int foo(const shared_ptr<bar>& ptr);но это не работает, если я ...

3 ответа

Можете ли вы выделить массив с чем-то эквивалентным make_shared?

buffer = new char[64]; buffer = std::make_shared<char>(char[64]); ???Можете ли вы выделить память для массива, используяmake_shared<>()? Я мог бы сделать:buffer = std::make_shared<char>( new char[64] ); Но это все еще включает в себя вызов ...

0 ответов

Для чего используется Boost's shared_ptr (shared_ptr <Y> const & r, T * p)?

boost::shared_ptr имеет необычный конструктор template<class Y> shared_ptr(shared_ptr<Y> const & r, T * p);и я немного озадачен тем, для чего это было бы полезно. В основном это разделяет собственность сr, но.get() вернусьp. не r.get()! Это ...

2 ответа

Использует ли std :: make_shared () пользовательские распределители?

Рассмотреть возможностьэтот код [http://ideone.com/8wO6Hc]: #include <memory> #include <iostream> class SomeClass { public: SomeClass() { std::cout << "SomeClass()" << std::endl; } ~SomeClass() { std::cout << "~SomeClass()" << std::endl; } void* ...

0 ответов

Вносит ли оптимизация WKWYL в make_shared <> () штраф для некоторых многопоточных приложений?

Несколько дней назад я случайно посмотрелэто очень интересная презентация [http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets] Стефан Т. Лававей, который упоминает "Мы знаем где вы живете"оптимизация (извините за ...