Вопросы по теме 'unique-ptr'
Работает ли std::bind с типами только для перемещения вообще и std::unique_ptr в частности?
Я пытаюсь использовать boost:: asio и сталкиваюсь с трясиной.
Я пытаюсь скомпилировать следующий код:
std::unique_ptr<buffer_t> buffer = buffers.pop();
std::function<void(const boost::system::error_code&, size_t)> t =...
5865 просмотров
schedule
19.03.2024
unique_ptr с удалением
Я пытаюсь использовать std::unique_ptr с помощью удаления. Это мой код:
template<class T>
struct Deleter
{
void operator()(T* p)
{
delete[] p;
}
};
void Test()
{
vector<unique_ptr<char>> v;...
1546 просмотров
schedule
21.02.2024
Ошибка владения unique_ptr при возврате unique_ptr из функции
Я новичок в unique_ptr. Все шло хорошо, пока я не наткнулся на функцию, возвращающую новый unique_ptr. Компилятор, кажется, жалуется на более чем один объект, потенциально владеющий unique_ptr. Я не уверен, как удовлетворить жалобу компиляторов....
2913 просмотров
schedule
21.04.2024
ошибка: ‘unique_ptr’ не является членом ‘std’
Я думаю, это довольно очевидно - я не могу использовать функции С++ 11, хотя я думаю, что у меня все настроено правильно - что, вероятно, означает, что я этого не делаю.
Вот мой код:
#include <cstdlib>
#include <iostream>
class...
60412 просмотров
schedule
07.10.2023
Должен ли быть разрешен std::unique_ptr‹void›
Это очень простой вопрос. Рассмотрим следующий код:
#include <iostream>
#include <memory>
typedef std::unique_ptr<void> UniqueVoidPtr;
int main() {
UniqueVoidPtr p(new int);
return 0;
}
Компиляция с помощью cygwin...
10950 просмотров
schedule
21.02.2024
Преобразование unique_ptr‹Base› в unique_ptr‹Derived›
У меня есть ряд фабрик, которые возвращают unique_ptr<Base> . Однако под капотом они предоставляют указатели на различные производные типы, то есть unique_ptr<Derived> , unique_ptr<DerivedA> , unique_ptr<DerivedB> и т. д....
26287 просмотров
schedule
27.04.2024
Преимущества unique_ptr над auto_ptr?
Я не совсем понимаю преимущества unique_ptr по сравнению с auto_ptr , или я еще не совсем уверен, зачем нам нужно использовать unique_ptr .
Я вижу следующие отличия.
1) unique_ptr поддерживает массивы, поэтому деструктор unique_ptr...
1399 просмотров
schedule
15.11.2022
Копирование значения std::unique_ptr через разыменование
Я написал следующий код, в котором пытаюсь скопировать значение объекта unique_ptr в структуру.
#include <iostream>
#include <memory>
using namespace std;
struct S {
S(int X = 0, int Y = 0):x(X), y(Y){}
// S(const S&)...
8289 просмотров
schedule
11.05.2024
c++ Приведение вектора unique_ptr‹Base› к unique_ptr‹Derived›, где производным является шаблон
У меня следующая ситуация:
Base — это базовый класс. T — это шаблон, который может принимать любой производный класс от Base .
Базовый слой предоставляет мне данные из класса Base , которые мне нужно преобразовать в определенный класс на...
1561 просмотров
schedule
11.10.2022
Ошибка привязки make_unique
У меня проблемы с использованием std::bind с std::make_unique .
У меня есть объект, конструктору которого я передаю фабричные функции для создания std::unique_ptr объектов другого типа класса.
Используя VS2013, это работает:
Tester...
586 просмотров
schedule
16.11.2022
Почему QString и vector‹unique_ptr‹int›› здесь кажутся несовместимыми?
Я пытаюсь скомпилировать некоторый код, который сводится к этому:
#include <memory>
#include <vector>
#include <QString>
class Category
{
std::vector<std::unique_ptr<int>> data;
QString name;
};
int main()...
294 просмотров
schedule
30.04.2024
Как я могу отсортировать вектор unique_ptr?
Я объявил вектор следующим образом: vector<unique_ptr<Worker>> Workers . Worker — это базовый класс с закрытым полем name , который имеет два производных класса: Builder и Driver .
Я добавляю к Workers векторным объектам...
6244 просмотров
schedule
20.05.2024
std::list‹std::unique_ptr›: пустой список инициализаторов вместо конструктора по умолчанию
Код
#include <list>
#include <memory>
class B;
class A {
std::list<std::unique_ptr<B>> bs;
public:
A();
~A();
};
int main()
{
A x;
return 0;
}
очевидно компилируется. Это не связано, потому что...
540 просмотров
schedule
08.07.2022
Является ли std::move() таким же, как использование reset() и release() вместе?
Я реализую BST и хочу проверить, какая из этих строк правильна/более эффективна для удаления узла и связывания его родителя с его дочерним элементом?
// ________[a]_______
// / \
// _[b] __[c]_
//...
64 просмотров
schedule
03.09.2022
std::unique_ptr и пользовательские удаления
В статье Скотта Мейера «Эффективный современный C++» обсуждается использование std::unique_ptr с пользовательским средством удаления и говорится:
Удалители, которые являются указателями на функции, обычно вызывают увеличение размера...
723 просмотров
schedule
14.07.2022
Как вытащить unique_ptr из priority_queue и сохранить семантику владения
У меня есть unique_ptr в priority_queue, и я хочу удалить его из этой коллекции и поместить в очередь, сохранив при этом семантику владения unique_ptr. Но я не могу найти способ снять это с priority_queue без ошибки компиляции: «попытка сослаться на...
536 просмотров
schedule
15.09.2022
Как инициализируются std::arrays интеллектуальных указателей?
В настоящее время я пытаюсь инициализировать следующий массив, Spot — это класс, который определен в другом месте:
static const int WIDTH = 7;
static const int HEIGHT = 6;
std::array<std::array<std::unique_ptr<Spot>, WIDTH>,...
216 просмотров
schedule
03.11.2022
Нет подходящего конструктора по умолчанию для std::unique_ptr‹SDL_Texture› внутри std::unordered_map
Это продолжение моего предыдущего поста: (извините за цепочку вопросов)
Нет подходящего конструктора по умолчанию для std::unique_ptr
Я столкнулся с похожей ошибкой, на этот раз с std::unique_ptr в контейнере std::unordered_map : (Извините,...
288 просмотров
schedule
03.10.2022
умный указатель с неожиданным поведением
Когда я просматривал умные указатели, я пробежался по следующему коду.
Работает как положено.
#include <iostream>
#include <memory>
using namespace std;
class Double
{
public:
Double(double d = 0) : dValue(d) { cout <<...
49 просмотров
schedule
06.06.2024
Зачем использовать std :: make_unique в C ++ 17?
Насколько я понимаю, C ++ 14 представил std::make_unique , потому что из-за того, что порядок оценки параметров не был указан, это было небезопасно:
f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A
(Объяснение: если...
13006 просмотров
schedule
29.11.2023