Вопросы по теме 'unique-ptr'
Смешивание multi_array boost и необязательно с C++ 11 unique_ptr не работает
Я собрал передовую установку с G++ 4.7 (хотя на данный момент я все еще использую boost 1.48, поставляемый с sudo apt-get boost-all-dev на Debian Wheezy).
Мой код настроен таким образом, что используемая логическая структура данных представляет...
775 просмотров
schedule
20.11.2023
Использование 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 просмотров
schedule
01.11.2023
Структура дерева/леса С++ для узлов разных типов классов
\\ при реализации решения, найденного с помощью приведения к общему базовому классу
\\ с виртуальными членами.
\\ я узнал об универсальных ссылках, потому что это другой вопрос, я создал новый:...
995 просмотров
schedule
11.11.2023
Как вызвать функцию-член const другого класса через член std::unique_ptr
Читая о предложении добавить в стандартную библиотеку оболочку, распространяющую константу (№ документа N4388 ), я наткнулся на пример, приведенный в статье:
#include <memory>
#include <iostream>
struct A
{
void bar() const...
593 просмотров
schedule
06.06.2024
Как правильно пересылать 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 просмотров
schedule
02.04.2024
Как использовать метод 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