Описание тега unique-ptr
NoneStd::unique_ptr - это умный указатель, который сохраняет исключительное право собственности на объект через указатель. unique_ptr не подлежит копированию или назначению для копирования, два экземпляра unique_ptr не могут управлять одним и тем же объектом.
2
ответа
Создание unique_ptr непрозрачных данных в C++
Конструкторы ptr работают с простыми данными, но не работают с объектами: #include <string> #include <memory> struct MyClass{}; int main() { std::unique_ptr<int> ptr(new int(5)); std::unique_ptr<std::string> ptr1(new std::str…
26 фев '14 в 17:49
3
ответа
Передача std::unique_ptr в качестве параметра функции
Я получил структуру и функцию, подобную следующей: struct MYOVERLAPPED : public OVERLAPPED { //... }; void func1(std::unique_ptr<MYOVERLAPPED> pBuf) { //... }; Я получаю указатель на MYOVERLAPPED, который я хочу передать функции func1. Проблем…
09 сен '11 в 15:19
2
ответа
C++ unique_ptr отдельное объявление и создание экземпляра
Может быть, это очень простой вопрос. Но как программист на Java, я все еще пытаюсь понять, как правильно создавать объекты в C++. Я получил переменную-член в своем классе и не могу создать ее экземпляр в списке экземпляров конструктора класса (пото…
17 дек '15 в 07:53
1
ответ
C++ Как добавить очередь unique_ptr в вектор
Упрощенный код: #include <queue> #include <memory> #include <vector> class Foo { public: Foo() {}; virtual ~Foo() {} }; int main() { std::queue<std::unique_ptr<Foo>> queue; auto element = std::make_unique<Foo>(); …
05 июн '18 в 01:10
2
ответа
Сброс вложенного умного указателя shared_ptr на shared_ptr (или unique_ptr), кажущийся парадоксом
Я знаю, что объект управляется std::shared_ptr не является delete д reset() если это не единственный shared_ptr который управляет этим в тот момент. Я знаю, что когда есть несколько shared_ptr При управлении одним и тем же объектом изменения значени…
05 ноя '14 в 02:12
2
ответа
Немедленно разыменование unique_ptr
Я не очень знаком с современным C++ и хотел бы лучше понять следующий фрагмент: State & m_rootstate; //... auto currstate = std::make_unique<State> (m_rootstate); do_something (*currstate); // currstate is not used anywhere else я вижу uni…
24 сен '18 в 10:33
3
ответа
Удаление того, на что указывает unique_ptr
У меня есть задание на кодирование, и мне нужно освободить всю выделенную память, поэтому я пытаюсь удалить все семафоры, на которые указывает мой unique_ptr. Все unique_ptrs находятся на карте. Фрагменты кода: static map<string, unique_ptr<se…
12 май '14 в 05:37
1
ответ
Является ли пользовательское средство удаления для std::unique_ptr допустимым местом для ручного вызова деструктора?
У меня есть очень базовая реализация отражения, которая включает в себя Type класс, который создает объект для класса, который он описывает. Разобравшись до соответствующих частей, это выглядит так: Type.h: class Plugin; // forward declaration typed…
14 янв '14 в 10:28
4
ответа
Фатальная ошибка C++ C1001: в компиляторе произошла внутренняя ошибка
Я получаю следующую ошибку при компиляции в режиме релиза. 1>d:\users\eyal\projects\code\yalla\core\src\runbox\win32\window.cpp : fatal error C1001: An internal error has occurred in the compiler. 1> (compiler file 'f:\dd\vctools\compiler\utc\…
15 мар '16 в 07:43
1
ответ
Что не так, чтобы сбросить std::unique_ptr в указатель на массив?
Я вижу фрагмент кода, как показано ниже: std::unique_ptr<uint8_t> mCache; mCache.reset(new uint8_t[size]); Кто-то сказал мне, что есть некоторые проблемы с этим кодом. Кто-нибудь может дать мне некоторые детали?
15 авг '18 в 08:20
7
ответов
Скопируйте конструктор для класса с unique_ptr
Как мне реализовать конструктор копирования для класса, который имеет unique_ptr переменная-член? Я рассматриваю только C++11.
16 апр '13 в 06:21
1
ответ
Как асинхронно выполнить метод от unique_ptr до объекта?
Я создал уникальный указатель на объект, подобный этому: std::unique_ptr<MyClass> myObj(new MyClass(arg1, arg2)); И там есть метод, который мне нужно выполнить в параллельном потоке. Я не хочу ждать, пока это закончится. Он будет запускать цик…
18 апр '14 в 23:50
3
ответа
std::unique_ptr с пользовательским удалителем для win32 LocalFree
У меня есть Win32 API CommandLineToArgvW который возвращает LPWSTR* и предупреждает меня, что CommandLineToArgvW выделяет блок непрерывной памяти для указателей на строки аргументов и для самих строк аргументов; вызывающее приложение должно освободи…
27 мар '12 в 15:51
5
ответов
Реализация контейнеров с использованием умных указателей
Итак, все знают, что необработанных указателей следует избегать, как чумы, и предпочитать умные указатели, но применим ли этот совет при реализации контейнера? Вот что я пытаюсь сделать: template<typename T> class AVLTreeNode { public: T data;…
29 мар '11 в 10:36
1
ответ
std::unique_ptr с использованием пользовательского удалителя с несколькими аргументами
Интересно, можно ли указать пользовательское средство удаления для std::unique_ptr с более чем одним аргументом (стандартная подпись средства удаления). Я знаю, что с std::shared_ptr существует обходной путь с std:: bind, который делает это возможны…
26 дек '15 в 10:45
1
ответ
Передача пользовательского удалителя в std::unique_ptr с помощью объекта std::function
У меня есть следующий рабочий код для инициализации std::unique_ptr с пользовательским удалителем: class Dataset { ... private: class CustomGDALDatasetDeleter { public: void operator()(GDALDatasetH res) const { ::GDALClose(res); } }; using ResourceT…
06 июл '14 в 22:30
2
ответа
С ++ прохождение ptrs
У меня все еще много проблем с захватом указателей, я пытался их не использовать, но я не уверен, как лучше всего выполнить следующее. У меня два класса Point а также RayЯ также уверен, что где-то уже есть реализация класса точек, который я должен и…
25 ноя '14 в 19:57
2
ответа
Могу ли я абстрагироваться от конкретных деталей о шаблонных классах?
Я работаю над созданием фабричной библиотеки (похожей на https://github.com/google/guice которая доступна для Java) в C++11, чтобы ознакомиться с программированием шаблонов, а также создать полезный инструмент для уменьшения зависимости, Идея заключ…
04 апр '15 в 18:45
2
ответа
C++ unique_ptr вектор
У меня есть следующая строка кода SystemFactory::system_ptr system = _Factory->createSystem(systemType); _Systems.push_back(std::move(system)); Проблема, которую я имею, состоит в том, что я не могу просто вернуть систему, так как она обнулит ее …
23 фев '17 в 15:12
4
ответа
C++11 контейнер unique_ptr для заранее объявленного класса
g++ -std=c++11 не компилирует класс, который содержит контейнер, содержащий уникальные указатели, которые указывают на объявленный вперед класс. Вопросы: Зачем? Есть ли разумное решение? Пример кода: #include <vector> #include <memory> /…
06 янв '16 в 07:35