shared-ptr

Я нашел некоторый код, используя std:: shared_ptr для выполнения произвольной очистки при выключении. Сначала я думал, что этот код не может работать, но потом я попробовал следующее: #include <memory> #include <iostream> #include <vector> class test { public: test() { std::cout <...

тот же источник, все это, просто хочу статическую и общую версию обоих. Легко сделать?...

Я пишу метод доступа для общего указателя в C++, который выглядит примерно так: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr<Bar> m_bar; } таким образом, чтобы поддержать постоянство getBar() возвращаемый тип должен быть boost::share...

что эквивалентно static_cast С boost::shared_ptr? другими словами, как мне переписать следующее Base* b = new Derived(); Derived* d = static_cast<Derived*>(b); при использовании shared_ptr? boost::shared_ptr<Base> b(new Derived()); boost::shared_ptr<Derived> d = ??? ...

Если я объявляю объект, завернутый в общий указатель: std::shared_ptr<myClass> myClassObject(new myClass()); затем я хотел передать его в качестве аргумента метода: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) { arg1->someField = 4; } ...

Я хотел бы включить поддержку C++0x в GCC с -std=c++0x. Мне абсолютно не обязательно нужен какой-либо из в настоящее время поддерживаются функции C++11 в GCC 4.5 (и вскоре 4.6), но я хотел бы начать привыкать к ним. Например, в нескольких местах, где я использую итераторы,auto тип было бы полезно. но опять ж...

в настоящее время я пытаюсь научиться использовать интеллектуальные указатели. Однако, проводя некоторые эксперименты, я обнаружил следующую ситуацию, для которой я не мог найти удовлетворительное решение: представьте, что у вас есть объект класса A, являющийся родителем объекта класса B (ребенок), но оба до...

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

я описываю проблему, для которой мне потребовалось некоторое время, чтобы узнать ответ. "GenericKeychain" пример является хорошим началом при предоставлении оболочки для обмена данными связки ключей между приложениями при использовании accessGroup в init. однако реализация этого в моем приложении дала неясн...

есть ли какие-либо недостатки с использованием make_shared<T>() вместо shared_ptr<T>(new T). Boost documentation государства были повторные запросы от пользователи для заводской функции, которая создает объект заданного типа и возвращает shared_ptr к нему. Кроме того удобство и стил...