unique-ptr

Поскольку std::unique_ptr предоставляет удобный способ избежать утечек памяти и обеспечить безопасность исключений, разумно передавать их, а не сырые указатели. Таким образом, может потребоваться (член) функции с сигнатурой типа std::unique_ptr<some_type> foo(some data); К сожалению, при реализации ...

почему нет std::make_unique шаблон функции в стандартной библиотеке C++11? Я нахожу std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); немного многословен. Разве не было бы намного приятнее следующее? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); это скрывае...

у меня есть код в заголовке, который выглядит так: #include <memory> class Thing; class MyClass { std::unique_ptr< Thing > my_thing; }; если я включаю этот заголовок в cpp, который не включает Thing определение типа, то это не компилируется под VS2010-SP1: 1>C:Program файлы (x86)Mi...

Возможные Дубликаты:pimpl: shared_ptr или unique_ptrсмарт указатели (boost) объяснил кто-нибудь может объяснить различия между shared_ptr и 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 }; однако, я получаю ошибку компиляции относительно использования неполного типа, на строке 304 в ...

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

тут std::make_unique есть какие-либо преимущества эффективности, как std::makes_shared? по сравнению с ручным построением std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1)); ...

Как реализовать конструктор копирования для класса, который имеет unique_ptr переменной-члена? Я рассматриваю только C++11....

у меня есть моя первая попытка использовать C++11 unique_ptr; я заменяю полиморфный необработанный указатель внутри моего проекта, который принадлежит одному классу, но передается довольно часто. раньше у меня были такие функции, как: bool func(BaseClass* ptr, int other_arg) { bool val; // plain ordinar...

согласно N3290 std::unique_ptr принимает аргумент deleter в своем конструкторе. однако я не могу заставить это работать с Visual C++ 10.0 или MinGW g++ 4.4.1 в Windows, а также с g++ 4.6.1 в Ubuntu. предпочтительно я хотел бы также посмотреть, как это работает unique_ptr<Base> p = unique_ptr<Deri...