unique-ptr

Jak przekazać unikalny argument ptr konstruktorowi lub funkcji?

Jestem nowy, aby przenieść semantykę w C++11 i nie wiem zbyt dobrze, jak obsługiwać unique_ptr parametry w konstruktorach lub ... ym? Base::UPtr b1; Base::UPtr b2(new Base()); b1->setNext(b2); //should I write b1->setNext(std::move(b2)); instead?

Zwracanie unikalnego PST z funkcji

unique_ptr<T> nie pozwala na tworzenie kopii, zamiast tego wspiera semantykę move. Jednak Mogę zwrócić unique_ptr<T& ... wane, czy jest to specjalnie opisane w kompilatorze, czy jest jakaś inna klauzula w specyfikacji języka, którą to exploituje?

Różnice między unikalnym PST a wspólnym PST [duplikat]

Możliwe duplikaty:pimpl: shared_ptr lub unique_ptrInteligentne Wskaźniki (boost) wyjaśnione Może ktoś wyjaśnić różnice między shared_ptr i unique_ptr?

Czy std:: unique ptr wymaga znajomości pełnej definicji t?

Mam jakiś kod w nagłówku, który wygląda tak: #include <memory> class Thing; class MyClass { std::unique_ptr< ... ę std::unique_ptr tylko z deklaracją forward? Wydaje się to dziwne, ponieważ powinno trzymać tylko wskaźnik do Thing, prawda?

Korzystanie z inteligentnych wskaźników dla członków klasy

Mam problem ze zrozumieniem użycia inteligentnych wskaźników jako członków klasy w C++11. Dużo czytałem o inteligentnych wska ... ; myDevice = settings.getDevice(); // do something with myDevice... } Czy to jest sposób, aby przejść? Dziękuję bardzo!

std:: unikalny PST z niekompletnym typem nie będzie kompilowany

Używam idiomu pimpl z std::unique_ptr: class window { window(const rectangle& rect); private: class window_impl; / ... Z tego co wiem, std::unique_ptr powinny być używane z niekompletnym typem. Czy to błąd w libc++, czy robię tu coś nie tak?

dokonaj wyjątkowego i doskonałego spedycji

Dlaczego nie ma std::make_unique szablonu funkcji w standardowej bibliotece C++11? Znajduję std::unique_ptr<SomeUserDefi ... e jestem pewien, czy to jest poprawne. Naprawdę? Co dokładnie oznacza std::forward<Args>(args)...? Co na to kompilator?

std:: auto ptr to std:: unikalny ptr

Wraz z nadejściem nowego standardu (i części już dostępnych w niektórych kompilatorach), nowy typ std::unique_ptr ma być zami ... okumentacji? Również jeśli jest bezpośrednim zamiennikiem (po co nadawać mu nową nazwę), a nie tylko ulepszać std::auto_ptr.

Dlaczego nie mogę odepchnąć unikalnego PST do wektora?

Co jest nie tak z tym programem? #include <memory> #include <vector> int main() { std::vector<std::uniqu ... gt; = std::unique_ptr<int>]' c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/vector.tcc:314:4: error: used here

Jak używać niestandardowego deletera z członkiem STD:: unique PST?

Mam klasę z członkiem unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... }; Bar jest klasą zewnę ... t; bar(create(), [](Bar* b){ destroy(b); }); ... } Czy jest sposób, aby to zrobić z std::unique_ptr jako członek klasy?

Jak działa niestandardowy deleter std:: unique ptr?

Zgodnie z N3290 std::unique_ptr przyjmuje argument deleter w swoim konstruktorze. Jednak nie mogę tego zrobić z Visual C++ 1 ... ze standardu do kopii zapasowej przykładu, tzn. że z dowolnym kompilatorem, którego używasz, faktycznie robi to, co powinien?

Dlaczego T* może zostać zaliczony do rejestru, a unikalny PST nie?

Oglądam rozmowę Chandlera Carruth ' a w CppCon 2019: Nie ma abstrakcji o zerowym koszcie W nim podaje przykład, jak był ... nt> ptr) noexcept { if (*ptr > 42) { bar(ptr.get()); *ptr = 42; } baz(std::move(ptr)); }

Konstruktor kopiujący dla klasy z unikalnym ptr

Jak zaimplementować Konstruktor kopiujący dla klasy, która ma zmienną member unique_ptr? Rozważam tylko C++11.

"Downcasting" unikalny PST do unikalnego PST

Mam serię fabryk, które wracają unique_ptr<Base>. Pod maską, jednak dostarczają wskazówek do różnych typów pochodnych, ... ntekstu. Ale oprócz konieczności dostarczenia / oddania deleter wraz ze wskaźnikiem, problem odlewania powinien być taki sam.

Zalety korzystania z std:: make unique over new operator [duplicate]

To pytanie ma już odpowiedź tutaj: różnice między std::make_unique i std:: unique_ptr ... ariuszu. Czy zapobiega wyciekom pamięci, które mogą się zdarzyć? Czy szybsze jest wykonanie std::make_unique niż użycie new?

unikalny odpowiednik PST boost?

Czy istnieje jakaś równoważna klasa dla std::unique_ptr C++1x w bibliotekach boost? Zachowanie, którego szukam, polega na tym ... ate_base(); // Do some stuff with b that may or may not throw an exception... // Now b is deleted automagically. }

Czy auto ptr jest przestarzałe?

Czy auto_ptr będzie przestarzały w nadchodzącym standardzie C++? Czy unique_ptr powinno być używane do przeniesienia własności zamiast shared_ptr? Jeśli unique_ptr nie jest w standardzie, to czy muszę używać shared_ptr?

Różnice między std:: make unique i std:: unique ptr

Czy std::make_unique ma jakieś korzyści z wydajności, takie jak std::makes_shared? W porównaniu do ręcznego konstruowania std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));

Jak zaimplementować funkcję make unique w C++11? [duplikat]

To pytanie ma już odpowiedź tutaj: make_unique and perfect forwarding ... e_unique. Jak napisać? template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args );

error:: make unique is not a member of 'std'

Próbuję skompilować poniższy program puli wątków opublikowany w code review, aby go przetestować. Https://codereview.stackex ... ^ main.cpp:14:34: error: expected primary-expression before ‘unsigned’ auto ptr2 = std::make_unique<unsigned>();