Результаты поиска по запросу "shared-ptr"
Я собираюсь оставить этот вопрос открытым, потому что я все еще не совсем счастлив, что делаю это правильно и был бы признателен за некоторый вклад.
рабатываю приложение, в котором мне нужно запускать и останавливать различные исполняемые файлы в зависимости от ввода пользователя. Я хотел бы, чтобы моя «основная» программа работала как обычно, пока выполняются эти исполняемые файлы, то есть ...
, Передача одного указателя определенно быстрее, чем перемещение
н ли общий указатель передаваться по ссылке или по значению в качестве параметра классу, если он будет скопирован в переменную-член? Копирование общего указателя будет увеличивать счетчик ссылок, и я не хочу делать ненужные копии и, ...
@DrewDormann хорошо зарекомендовал себя здесь, acidzombie24. У тебя будут проблемы с нулевыми указателями.
я есть что-то вродеshared_ptr<Type> t(makeSomething(), mem_fun(&Type::deleteMe)) Теперь мне нужно вызвать функцию в стиле C, которая требует указатель наType, Как я могу получить это отshared_ptr?
Вы не ответили на вопрос. И умных указателей не следует избегать.
я есть функция, которая принимаетshared_ptr<MyClass>, В какой-то функции-членаmemfun изMyClassМне нужно пройтиthis к этой функции. Но если я напишу void MyClass:memfun() { func(shared_ptr<MyClass>(this)) }Я предполагаю, что после завершения ...
конструктор псевдонимов shared_ptr
Вопрос о следованииshared_ptr конструктор: template< class Y > shared_ptr( const shared_ptr<Y>& r, T *ptr );Правильно ли это, еслиr был создан с использованием предоставленного пользователем средства удаления, а затем псевдонимовshared_ptr знает ...
так что вы можете обратиться к нему позже.
прочтения в RAII, просмотраПрезентация Херба Саттера на CppCon2014 [https://www.youtube.com/watch?v=xnqTKD8uD64]и читаяосновные рекомендации [http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rr-sharedptrparam-const] а ...
в то время как вызов сброса создает не новый общий объект, а новое владение - присоединение к новому базовому объекту (через управляющий объект)
ли различия между двумя фрагментами кода ниже? Любой из них предпочтительнее другого? оператор = boost::shared_ptr<Blah> foo; // foo.ptr should be NULL foo = boost::shared_ptr<Blah>(new Blah()); // Involves creation and copy of ...
Это может быть ошибка копирования и вставки, но чтобы охватить все базы, вы пропустили «d» в «shared» для
ла то, что должно сработать, потом то, что не сработает. Почему это не вопрос. Я объявляю два класса: class Base { ... }; class Derived : public Base { ... };Затем у меня есть следующая функция в другом месте: void foo(shared_ptr<Base> ...
C ++ слабая производительность создания
Я читал, что создание или копирование std :: shared_ptr влечет за собой некоторые накладные расходы (атомарный прирост счетчика ссылок и т. Д.). Но как насчет создания из него std :: weak_ptr: Obj * obj = new Obj(); // fast Obj * o = obj; // ...
howardhinnant.github.io/incomplete.html
опытке использоватьauto_ptr с типом, который был объявлен с предварительным объявлением, как это: class A; ... std::auto_ptr<A> a;деструкторA не называется (видимо, потому чтоauto_ptr внутреннеdeletes базовый указатель и деструктор для неполного ...