Лучшие unique-ptr вопросы ИТ разработчиков

  • 3 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

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

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

Задан 19 Nov 2018, 10:36 от user7431005
  • 13 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

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

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

Задан 20 Oct 2013, 00:17 от Kal
  • 23 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

Почему мне разрешено копировать unique_ptr? [Дубликат]

Возможный дубликат: Возвращение unique_ptr из функций [https://stackoverflow.com/questions/4316727/returning-unique-ptr-from-functions] 20.7.1.2 [unique.ptr.single] определяет конструктор копирования следующим образом: // disable copy from ...

Задан 22 Mar 2012, 17:14 от BЈовић
  • 25 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Как реализовать функцию make_unique в C ++ 11? [Дубликат]

На этот вопрос уже есть ответ здесь: make_unique и идеальная пересылка [/questions/7038357/make-unique-and-perfect-forwarding] 6 ответовМой компилятор не поддерживает make_unique. Как написать один? template< class T, class... Args > ...

Задан 27 Jul 2013, 20:59 от user1899020
  • 18 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Контейнер stl с std :: unique_ptr vs boost :: ptr_container

С появлением c ++ 11 я спрашивал себя, есть ли замена boost :: ptr_containers в c ++ 11. Я знаю, что могу использовать, например,std::vector<std::unique_ptr<T> >, но я не уверен, что это полная замена. Каков рекомендуемый способ обработки этих ...

Задан 27 Feb 2012, 18:11 от P3trus
  • 190 голосов
  • 4 ответа
  • 0 просмотров
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] Может ...

Задан 29 Jul 2011, 17:26 от smallB
  • 12 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Переместить владельца из std :: shared_ptr в std :: unique_ptr

У меня есть классA который имеет поле типаstd::unique_ptr: class A { public: std::unique_ptr pointer; // class body };И где-то в коде я использую несколькоstd::shared_ptrs, которые указывают на один и тот же объект. Теперь то, чего я хотел бы ...

Задан 11 Mar 2013, 11:30 от Piotr Chojnacki
  • 14 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

std :: unique_ptr с пользовательским удалителем для win32 LocalFree

У меня есть win32 APICommandLineToArgvW который возвращаетLPWSTR* и предупреждает меня, что CommandLineToArgvW выделяет блок непрерывной памяти для указателей на строки аргументов и для самих строк аргументов; вызывающее приложение должно ...

Задан 27 Mar 2012, 15:51 от Alessandro Jacopson
  • 5 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

unique_ptr автозаполнение в затмении

Я играю с unique_ptr. В моемпоследний пост [https://stackoverflow.com/questions/9766568/unique-ptr-compile-error]люди помогли мне скомпилировать программу, которая использовала этот указатель, указав во время компиляции -std = c ++ 0x. Теперь мне ...

Задан 19 Mar 2012, 08:22 от rahman
  • 34 голосов
  • 5 ответов
  • 0 просмотров
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 ...

Задан 23 Nov 2011, 02:11 от Earth Engine
  • 59 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Как мне использовать unique_ptr для pimpl?

Вот упрощение того, что я вижу, когда пытаюсь использовать unique_ptr для pimpl. Я выбрал unique_ptr, потому что я действительно хочу, чтобы класс владел указателем - я хочу, чтобы время жизни указателя pimpl и класса было одинаковым. В любом ...

Задан 26 Jan 2012, 15:19 от emsr
  • 102 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

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

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

Задан 27 Sep 2013, 14:31 от huitlarc
  • 3 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

 указатель.

фективном современном C ++» Скотта Мейера обсуждается использование

Задан 10 Mar 2017, 10:00 от Sir Visto
  • 0 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

повысить поток_группы переместить владение unique_ptr в поток

Какой обходной путь существует для запуска этого кода? Код приводит к «Попытка ссылки на удаленную функцию».

Задан 24 Feb 2016, 01:17 от Tims
  • 8 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Как объявить вектор unique_ptr как член класса данных?

Я хотел бы иметь вектор unique_ptr в качестве члена класса, который я делаю. class Foo { [...] private: vector<unique_ptr<Bar>> barList; }Но потом я начинаю получать загадочные сообщения об ошибках отVS2010компилятор: error C2248: ...

Задан 24 Jan 2012, 14:15 от Bret Kuhns
  • 47 голосов
  • 3 ответа
  • 0 просмотров
3 ответа

C ++ вставка unique_ptr в карту

У меня есть объект C ++ типаObjectArray typedef map<int64_t, std::unique_ptr<Class1>> ObjectArray;Каков синтаксис для созданияunique_ptr к новому объекту типаClass1 и вставьте его в объект типаObjectArray?

Задан 04 Jun 2013, 17:16 от vigs1990
  • 39 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Поиск необработанных указателей для наборов unique_ptrs

Мне часто хочется написать код, подобный этому: class MyClass { public: void addObject(std::unique_ptr<Object>&& newObject); void removeObject(const Object* target); private: std::set<std::unique_ptr<Object>> objects; };Однако большая часть ...

Задан 22 Sep 2013, 03:08 от Jo Bates
  • 8 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Инициализация shared_ptr <T> из уникального_ptr <T []>

[Продолжениеэтот вопрос]Недавно я имел дело с умными указателями на массивы в стиле c. В конечном итоге я сделал рекомендованную вещь и вместо этого использо...

Задан 28 May 2015, 01:53 от jaggedSpire
  • 6 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Добавить неявное преобразование из unique_ptr <T> в T *

Общий вопрос: Не вдаваясь в подробности, является ли это хорошей идеей, как я могу добавить оператор неявного преобразования в класс, который уже был определ...

Задан 31 May 2015, 02:03 от Isaiah Hines
  • 80 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Почему shared_ptr <void> допустим, а unique_ptr <void> не сформирован?

Вопрос действительно подходит к названию: мне любопытно узнать, какова техническая причина этого различия, но также и обоснование?

Задан 02 Sep 2016, 09:24 от Ad N
  • 154 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

std :: unique_ptr с неполным типом не будет компилироваться

Я использую pimpl-идиому сstd::unique_ptr: class window { window(const rectangle& rect); private: class window_impl; // defined elsewhere std::unique_ptr<window_impl> impl_; // won't compile };Тем не менее, я получаю ошибку компиляции ...

Задан 31 Mar 2012, 09:03 от user1203803
  • 17 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

«Текущий совет по этому вопросу:« Я не думаю, что вы обязательно в курсе этого ..

из моих функций берет вектор в качестве параметра и сохраняет его как переменную-член. Я использую постоянную ссылку на вектор, как описано ниже. class Test { public: void someFunction(const std::vector<string>& items) { m_items = items; } ...

Задан 03 Oct 2017, 16:09 от MaxHeap
  • 22 голосов
  • 4 ответа
  • 0 просмотров
4 ответа

Boost.Python: как выставить std :: unique_ptr

Я довольно новичок в boost.python и пытаюсь представить возвращаемое значение функции для python.Сигнатура функции выглядит так:

Задан 14 Dec 2013, 08:34 от mario.schlipf
Page 1 of 3
1 2 3