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

3 ответа

Исключение безопасности и make_unique

Просто чтобы уточнить, используяmake_unique только добавляет безопасность исключений, когда у вас есть несколько распределений в выражении, а не только одно, правильно? Например void f(T*); f(new T);совершенно безопасен в отношении исключений (в ...

3 ответа

В выражении удаления одного объекта, если статический тип удаляемого объекта отличается от его динамического типа, и выбранная функция освобождения (см. Ниже) не является оператором удаления, статический тип должен быть базовым классом динамический тип объекта, который должен быть удален, и статический тип должен иметь виртуальный деструктор, иначе поведение не определено.

месяцев назад я спросилэто [https://stackoverflow.com/questions/52180485/valgrind-shows-memory-leak-in-stdmake-unique] вопрос, где я спросил, почему произошла утечка памяти. Видимо, я забыл виртуальный деструктор. Теперь я пытаюсь понять, почему ...

5 ответов

Рекомендация: предпочитайте передачу объектов по значению, * или &, а не по умному указателю.

все знают, что необработанных указателей следует избегать, как чумы, и предпочитать умные указатели, но применим ли этот совет при реализации контейнера? Вот что я пытаюсь сделать: template<typename T> class AVLTreeNode { public: T ...

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

4 ответа

 которые являются копиями друг друга, может определить, когда уничтожен последний член семьи.

жные дубликаты: pimpl: shared_ptr или unique_ptr [https://stackoverflow.com/questions/5576922/pimpl-shared-ptr-or-unique-ptr] умные указатели (повышение) объяснил [https://stackoverflow.com/questions/569775/smart-pointers-boost-explained] Может ...

6 ответов

Как использовать пользовательское средство удаления с членом std :: unique_ptr?

У меня есть класс с членом unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... };Bar - это сторонний класс, который имеет функцию create () и destroy (). Если бы я хотел использоватьstd::unique_ptr с его помощью в отдельной функции ...

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/] принять пользовательский деструктор для вызова объекта, которым они владеют. Но в ...

6 ответов

Как передать аргумент unique_ptr в конструктор или функцию?

Я новичок в перемещении семантики в C ++ 11, и я не очень хорошо знаю, как справитьсяunique_ptr параметры в конструкторах или функциях. Рассмотрим этот класс, ссылающийся на себя: #include <memory> class Base { public: typedef unique_ptr<Base> ...

5 ответов

Как записать unique_ptr в лямбда-выражение?

Я пробовал следующее: std::function<void ()> getAction(std::unique_ptr<MyClass> &&psomething){ //The caller given ownership of psomething return [psomething](){ psomething->do_some_thing(); //psomething is expected to be released after ...

4 ответа

Ну, как работает пользовательское удаление std :: unique_ptr?

Согласно N3290std::unique_ptr принимает аргумент удаления в своем конструкторе. Однако я не могу заставить его работать с Visual C ++ 10.0 или MinGW g ++ 4.4.1 в Windows, а также с g ++ 4.6.1 в Ubuntu. Поэтому я боюсь, что мое понимание этого ...

1 ответ

Должен ли `unique_ptr <T const []>` принимать аргумент конструктора `T *`?

Код: #include <memory> using namespace std; struct T {}; T* foo() { return new T; } T const* bar() { return foo(); } int main() { unique_ptr< T const > p1( bar() ); // OK unique_ptr< T const [] > a1( bar() ); // OK unique_ptr< T const > ...