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>();