Pytania oznaczone «unique-ptr»

std :: unique_ptr to inteligentny wskaźnik, który zachowuje wyłączną własność obiektu za pośrednictwem wskaźnika. unique_ptr nie jest kopiowalny ani przypisywany do kopiowania, dwie instancje unique_ptr nie mogą zarządzać tym samym obiektem.

367
Zwracanie unikatowej wartości z funkcji

unique_ptr<T>nie zezwala na tworzenie kopii, zamiast tego obsługuje semantykę przenoszenia. Jednak mogę zwrócić a unique_ptr<T>z funkcji i przypisać zwróconą wartość do zmiennej. #include <iostream> #include <memory> using namespace std; unique_ptr<int> foo() {...

185
std :: auto_ptr na std :: unique_ptr

Wraz z nadejściem nowego standardu (i części już dostępnych w niektórych kompilatorach) nowy typ std::unique_ptrma być zamiennikiem std::auto_ptr. Czy ich użycie dokładnie się pokrywa (więc mogę dokonać globalnego wyszukiwania / zamiany w moim kodzie (nie żebym to zrobił, ale gdybym to zrobił)),...

101
Jak mogę przekazać std :: unique_ptr do funkcji

Jak mogę przekazać a std::unique_ptrdo funkcji? Powiedzmy, że mam następującą klasę: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Następujące elementy nie są kompilowane: void MyFunc(unique_ptr<A> arg) { cout <<...

96
Po co używać std :: make_unique w C ++ 17?

O ile rozumiem, wprowadzono C ++ 14 std::make_unique, ponieważ w wyniku nieokreślenia kolejności oceny parametrów było to niebezpieczne: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Wyjaśnienie: jeśli ocena najpierw przydzieli pamięć dla surowego wskaźnika, a...

85
Jak przekazać std :: unique_ptr?

Mam pierwszą próbę użycia C ++ 11 unique_ptr; Zastępuję polimorficzny surowy wskaźnik wewnątrz mojego projektu, który jest własnością jednej klasy, ale jest często przekazywany. Kiedyś miałem takie funkcje, jak: bool func(BaseClass* ptr, int other_arg) { bool val; // plain ordinary function...