Вопросы по теме 'unique-ptr'

Смешивание multi_array boost и необязательно с C++ 11 unique_ptr не работает
Я собрал передовую установку с G++ 4.7 (хотя на данный момент я все еще использую boost 1.48, поставляемый с sudo apt-get boost-all-dev на Debian Wheezy). Мой код настроен таким образом, что используемая логическая структура данных представляет...
775 просмотров

Использование unique_ptr с вектором и картой
У меня есть класс под названием Info. Я попытался создать вектор unique_ptr для хранения списка этого класса. Карта содержит ключ в виде строки и unique_ptr в качестве значения. Но когда я пытаюсь получить значение из карты и пытаюсь...
859 просмотров
schedule 12.06.2024

от unique_ptr‹char[]› до unique_ptr‹const char[]›
Какая идиома лучше всего подходит для перемещения unique_ptr<char[]> в unique_ptr<const char[]> ? Пример использования: предположим, вы создаете строку C в каком-то буфере. Чтобы обеспечить надлежащую очистку в случае исключения,...
5517 просмотров
schedule 18.10.2022

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

Синглтон с приватным деструктором с использованием std::unique_ptr
Я создал все синглтоны в своей программе с учетом этого документа: http://erdani.com/publications/DDJ_Jul_Aug_2004_revised.pdf (если кому-то интересно, почему синглтон, все они являются фабриками, и некоторые из них хранят некоторые глобальные...
9619 просмотров
schedule 25.10.2023

Как получить размер массива, хранящийся в unique_ptr?
if I do: std::unique_ptr<int[]> uparr(new int[1984]); и я передаю uparr кому-то, не передавая им 1984 , могут ли они увидеть, сколько в нем элементов? иначе есть ли эквивалент вектора .size() для unique_ptr массива?
7166 просмотров
schedule 05.11.2023

вектор unique_ptr не удаляется полностью (утечка памяти)
Я пишу программу, которая в конечном итоге потребует от меня создания вектора unique_ptrs для объектов пользовательского класса. У меня были утечки памяти, поэтому я решил удалить пользовательский класс из уравнения и просто попробовать его с...
962 просмотров
schedule 16.12.2023

Деструктор вызывается перед функцией-членом при назначении unique_ptr ссылке
Я использую unique_ptr и получаю странные результаты. Это код: class Sniffer { public: Sniffer() { cout << "Sniffer()" << endl; s = "String!"; } void operator()() { cout <<...
186 просмотров

Структура дерева/леса С++ для узлов разных типов классов
\\ при реализации решения, найденного с помощью приведения к общему базовому классу \\ с виртуальными членами. \\ я узнал об универсальных ссылках, потому что это другой вопрос, я создал новый:...
995 просмотров
schedule 11.11.2023

Как вызвать функцию-член const другого класса через член std::unique_ptr
Читая о предложении добавить в стандартную библиотеку оболочку, распространяющую константу (№ документа N4388 ), я наткнулся на пример, приведенный в статье: #include <memory> #include <iostream> struct A { void bar() const...
593 просмотров

Как правильно пересылать unique_ptr?
Как обычно правильно пересылать std::unique_ptr? В следующем коде используется std::move , что, по моему мнению, является общепринятой практикой, но происходит сбой с clang. class C { int x; } unique_ptr<C>...
2451 просмотров
schedule 04.12.2023

Можно ли применить std::sort к std::unique‹T[ ]›?
Предположим, у меня есть динамический массив, который я хочу отсортировать, я мог бы сделать std::vector<int> v(100); for (int i = 0; i < 100; i++) v[i] = rand(); std::sort(v.begin(), v.end()); но для критически важного для...
339 просмотров
schedule 18.02.2024

Уникальный указатель на вектор и полиморфизм
У меня проблема, я хочу создать уникальный указатель на вектор базовых объектов. Я хочу сохранить в этом векторном подклассе Base ( SubClass ), но у меня проблема с инициализацией, потому что базовый класс виртуальный....
1958 просмотров
schedule 30.11.2022

Действительность указателя, возвращаемого оператором-›
Я реализую контейнер двумерного массива (например, boost::multi_array<T,2> , в основном для практики). Чтобы использовать нотацию с двойным индексом ( a[i][j] ), я ввел прокси-класс row_view (и const_row_view , но меня здесь не беспокоит...
247 просмотров
schedule 25.09.2022

Почему я не могу использовать std::unique_ptr в качестве аргумента класса template‹class›?
Этот код: #include <memory> template <template <typename> class Ptr> class A { Ptr<int> ints; }; using B = A<std::unique_ptr>; выдает следующую ошибку (с GCC 6.3): a.cpp:6:28: error: type/value mismatch at...
1443 просмотров

Как использовать метод get для возврата закрытого члена класса std::unique_ptr
Я создал класс с членами private, std::unique_ptr, а именно, m_VBO и m_EBO , как показано. class VAO { public: VAO(); std::unique_ptr<VBO> GetVBO(); std::unique_ptr<EBO> GetEBO(); private:...
166 просмотров
schedule 27.10.2022

Как я могу написать собственное средство удаления для массива, управляемого unique_ptr?
Я пытаюсь найти способ написать собственное средство удаления для массива C, управляемого unique_ptr в шаблонном классе C++. Я целенаправленно пытаюсь сделать утечку памяти класса, заставляя средство удаления ничего не делать. В полном классе...
299 просмотров
schedule 23.10.2022

Класс T против T при определении unique_ptr в С++?
Я обычно использую следующую строку, чтобы объявить/инициировать unique_ptr для класса с именем T: unique_ptr<T> tPtr(new T()); Однако я также видел следующее. unique_ptr<class T> tPtr(new T()); Я тестировал оба, и,...
52 просмотров
schedule 05.03.2024

Как перегрузить +, чтобы суммировать 2 объекта, которые являются матрицей в С++?
у меня есть этот класс class Matrix { int size; std::unique_ptr<std::unique_ptr<int[]>[]> val; public: Matrix(int size1) { size=size1; val=std::make_unique< std::unique_ptr<int[]>[]...
62 просмотров
schedule 15.05.2024