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

3 ответа

 внутри, к нему предъявляются те же требования.

у я получаю следующую ошибку для следующего кода? 1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(259): error C2683: 'dynamic_cast' : 'my_namespace::A' is not a polymorphic type 1> D:\[location]\[header_filename].h(35) : see declaration of ...

2 ответа

Бриллиант собирался написать что-то подобное сам. Спасибо, что сэкономили мне время! : D

тоящее время я обертываю класс C ++ с C ++ / CLI для взаимодействия .NET, следуя стандартному процессу удержания собственного указателя в управляемом классе. В одном случае у меня есть нативный класс, который имеет такую ...

4 ответа

 доступен в C ++ 11.

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

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

3 ответа

 в несколько разных производных классов. Мне нужно, чтобы контейнер содержал указатели базового класса, чтобы позволить это.

отрим следующую схему: class Base { /* ... */ }; class Derived : public Base { public: void AdditionalFunctionality(int i){ /* ... */ } }; typedef std::shared_ptr<Base> pBase; typedef std::shared_ptr<Derived> pDerived; int main(void) ...

4 ответа

В Boost shared_ptr.h измените сигнатуру конструктора на:

оложим, у меня есть дванесвязанныйклассыA а такжеB, У меня тоже есть классBla который используетboost::shared_ptr нравится: class Bla { public: void foo(boost::shared_ptr<const A>); void foo(boost::shared_ptr<const B>); }Обратите внимание ...

7 ответов

Разница в make_shared и обычном shared_ptr в C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo"));Есть много постов в Google и StackOverflow, но я не могу понять, почемуmake_shared более эффективно, чем прямое ...

2 ответа

Общие указатели на синглтон не узнают друг друга

В настоящее время я учусь использовать умные указатели C ++ 11 при программировании движка 2D-игр в качестве хобби с использованием SDL. Однако я столкнулся с проблемой при реализации оболочки OOp для SDL. Намерение заключается в создании ...

1 ответ

Требует ли dtor для shared_ptr использования «удалителя»?

Это [https://stackoverflow.com/q/3899790/420683] широко [https://stackoverflow.com/a/17650101/420683] известен [https://stackoverflow.com/a/6378121/420683]что вы можете использоватьshared_ptr хранить указатель на неполный тип, при условии, что ...

4 ответа

Если вы внимательно прочитаете ответ @Howard, то обнаружите, что единственное требование, которое не может быть выполнено с помощью умного указателя «one ptr», - это Aliasing, который - чтобы вернуться к исходному вопросу - в любом случае нельзя выполнить с помощью make_shared. Все остальные требования могут быть выполнены, хотя и непрактичным (то есть менее эффективным или сложным в реализации) способом.

оказано в кодеВот [http://ideone.com/dZbvK], размер объекта, возвращаемого из make_shared, равен двум указателям. Однако почему неmake_shared работать следующим образом (предположим, что T - это тип, на который мы делаем общий ...

3 ответа

 поддерживать массивы.

отреть возможность: struct SomethingThatsABase { virtual bool IsChildOne() const { return false; } virtual bool IsChildTwo() const { return false; } }; struct ChildOne : public SomethingThatsABase { virtual bool IsChildOne() const { return true; ...