Вопросы по теме 'unique-ptr'
Не удается создать карту MoveConstructibles
У меня есть класс, содержащий std::unique_ptr<> , и я хочу поместить экземпляры этого класса внутрь std::map<> . Я думал, что одной из причин, побудивших ввести семантику перемещения в C++, была возможность помещать такие вещи, как...
1751 просмотров
schedule
21.03.2023
от std :: auto_ptr до std :: unique_ptr
С приходом нового стандарта (а части уже доступны в некоторых компиляторах) новый тип std::unique_ptr должен заменить std::auto_ptr .
Точно ли их использование перекрывается (чтобы я мог выполнить глобальный поиск / замену в моем коде (не то,...
63874 просмотров
schedule
09.07.2023
Использование std::unique_ptr
std::unique_ptr<int> p1(new int);
std::unique_ptr<int> p2(new int);
p2=p1;
Здесь кажется, что p1 больше не является «уникальным», поскольку p2 также ссылается на него.
Это законно С++? Имеет ли unique_ptr copy_semantics? Если...
51410 просмотров
schedule
21.06.2022
Перемещение unique_ptrs из одного вектора в другой
Я хотел бы переместить unique_ptr, хранящиеся в несортированном векторе, в другой вектор, который будет содержать отсортированный вектор указателей.
Конечно, перемещение unique_ptr не приведет к автоматическому удалению элемента в первом векторе?...
9748 просмотров
schedule
12.12.2022
Требуется ли std :: unique_ptr ‹T›, чтобы знать полное определение T?
У меня есть код в заголовке, который выглядит так:
#include <memory>
class Thing;
class MyClass
{
std::unique_ptr< Thing > my_thing;
};
Если я включу этот заголовок в cpp, который не включает определение типа Thing , то он...
50219 просмотров
schedule
22.04.2023
Должен ли `unique_ptr‹ T const [] ›` принимать аргумент конструктора `T *`?
Код:
#include <memory>
using namespace std;
struct T {};
T* foo() { return new T; }
T const* bar() { return foo(); }
int main()
{
unique_ptr< T const > p1( bar() ); // OK
unique_ptr< T const [] > a1(...
824 просмотров
schedule
22.09.2022
Как объявить вектор unique_ptr как элемент данных класса?
Я хотел бы иметь вектор unique_ptr в качестве члена класса, который я создаю.
class Foo {
[...]
private:
vector<unique_ptr<Bar>> barList;
}
Но затем я начинаю получать загадочные сообщения об ошибках от компилятора...
13636 просмотров
schedule
04.09.2022
ошибка компиляции unique_ptr
Я думаю, это смущает, если я сказал вам, что не могу это скомпилировать. не могли бы вы помочь мне:
#include<memory>
using namespace std;
int main()
{
std::unique_ptr<int> p1(new int(5));
return 0;
}
$ gcc main.cpp...
28351 просмотров
schedule
18.09.2022
автозаполнение unique_ptr в eclipse
Я играю с unique_ptr. В моем последнем сообщении люди помогли мне скомпилировать программу, которая использовала этот указатель, указав -std= c++0x во время компиляции. Теперь мне интересно, есть ли способ указать eclipse учитывать С++ 11 при...
3681 просмотров
schedule
03.07.2022
Вставьте unique_ptr в карту, указатель будет уничтожен
У меня есть следующий (упрощенный) класс:
class Operator {
private:
std::map<std::string, std::unique_ptr<Operand>> op;
public:
template <class T>
void insertOperand(std::string const &s, T o = T()) {...
2947 просмотров
schedule
11.09.2022
в чем смысл std::unique_ptr::get
Разве std::unique_ptr::get не противоречит цели иметь unique_ptr в первую очередь? Я ожидал, что эта функция изменит свое состояние, чтобы она больше не содержала указателя. Есть ли действительно полезное использование std::unique_ptr::get?
43155 просмотров
schedule
06.04.2023
Это правильный способ реализовать pimpl с unique_ptr и семантикой перемещения в С++ 11?
Я еще не видел пример pimpl, который использует и unique_ptr, и семантику перемещения.
Я хочу добавить класс CHelper в контейнеры, производные от STL, и использовать pimpl, чтобы скрыть то, что делает CHelper.
Это выглядит правильно?...
4877 просмотров
schedule
02.07.2023
Почему unique_ptr ‹T› (T *) явный?
Следующие функции не компилируются:
std::unique_ptr<int> foo()
{
int* answer = new int(42);
return answer;
}
std::unique_ptr<int> bar()
{
return new int(42);
}
Я считаю это немного неудобным. Что послужило основанием...
1802 просмотров
schedule
10.03.2023
Ошибка компоновщика при использовании unique_ptr в C++/CLI
В настоящее время я конвертирую экземпляры auto_ptr в unique_ptr , но столкнулся с проблемой. Он отлично работает в части кода C++, но когда я делаю это на моем управляемом уровне C++/CLI (программное обеспечение использует как C#, так и C++), я...
4930 просмотров
schedule
17.12.2022
Как передать интеллектуальные указатели в функции?
При передаче объектов в функции применяются ли к интеллектуальным указателям те же правила, что и к другим объектам, содержащим динамическую память?
Когда я передаю, например, std::vector<std::string> в функцию, я всегда рассматриваю...
24042 просмотров
schedule
27.02.2022
C++ передача аргумента unique_ptr
Предположим, у меня есть следующий код:
class B { /* */ };
class A {
vector<B*> vb;
public:
void add(B* b) { vb.push_back(b); }
};
int main() {
A a;
B* b(new B());
a.add(b);
}
Предположим, что в этом случае все...
16903 просмотров
schedule
02.06.2022
Проблемы C++11 при переходе с Visual Studio 2010 на 2012
Я пытаюсь перенести свой проект из Visual Studio 2010 в Visual Studio 2012. В моем коде у меня есть обработка файлов, которая выглядит следующим образом:
auto fileDeleter = [](FILE* f) { fclose(f); };
unique_ptr<FILE, decltype(fileDeleter)>...
1984 просмотров
schedule
05.04.2023
Шаблон перемещения ctor для запакованного unique_ptr
Я хочу что-то похожее на unique_ptr, но гарантированно (в разумных пределах) не равное нулю. Я написал этот класс, который содержит unique_ptr, и я написал этот конструктор перемещения, который, как я надеялся, позволит мне перемещать-конструировать...
756 просмотров
schedule
04.06.2024
Потокобезопасное перемещение unique_ptr
Можно ли безопасно перемещать unique_ptr с помощью атомарных операций С++ 11?
В настоящее время у меня есть такой код
std::unique_ptr<SyncToken> DataManager::borrowSyncToken()
{
std::unique_lock<std::mutex>...
2949 просмотров
schedule
13.03.2023
unique_ptr в std::set не может найти оператор‹, хотя он есть
Возможный дубликат: Clang, std::shared_ptr и std::less/оператор‹
Так что да, в названии почти вся проблема. Как вы можете видеть из фрагмента ниже, я реализовал operator< , поэтому я понятия не имею, что происходит.
Вот код:...
694 просмотров
schedule
29.08.2022