smart-pointers

Inteligentne Wskaźniki (boost) wyjaśnione

Jaka jest różnica między poniższym zestawem wskaźników? Kiedy używasz każdego wskaźnika w kodzie produkcyjnym, jeśli w ogóle? Przykłady będą mile widziane! scoped_ptr shared_ptr weak_ptr intrusive_ptr Czy używasz boost w kodzie produkcyjnym?

RAII i inteligentne wskaźniki W C++

W praktyce z C++ czym jest RAII, Czym są Inteligentne Wskaźniki, Jak są one implementowane w programie i jakie są korzyści z używania RAII z inteligentnymi wskaźnikami?

Jakiego rodzaju wskaźnika użyć kiedy?

Ok, więc ostatnim razem, kiedy pisałem C++, std::auto_ptr było wszystko, co było dostępne, i boost::shared_ptr było wściekłoś ... dotyczące durnych wskaźników (raw pointers jak T*) i resztę boost Inteligentne Wskaźniki. (Coś w rodzaju to byłoby świetne).

Jakie są dostępne implementacje C++ Smart Pointer?

Porównania, Plusy, Minusy i kiedy używać? Jest to spin-off z wątku garbage collection gdzie to, co myślałem, że jest prostą ... orzystania i zrozumienia istniejących implementacji już powszechnie w użyciu i ostatecznie z porządnym odniesieniem do i inni

Smart Pointers: or who owns you baby? [zamknięte]

C++ to wszystko o własności pamięci Aka "Semantyka Własności " Obowiązkiem właściciela fragmentu dynamicznie przydzielone ... ników. Użycie: ====== Używany do zatrzymywania obiektów przez cykle, gdy tylko cykl utrzymuje współdzielone refcount.

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!

Kiedy std:: weak PST jest przydatny?

Zacząłem studiować Inteligentne Wskaźniki C++11 i nie widzę żadnego użytecznego zastosowania std::weak_ptr. Czy ktoś może mi powiedzieć kiedy std::weak_ptr jest przydatne / konieczne?

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.

wspólna Magia PST)

Pokłóciliśmy się z Panem Lidströmem. :) Twierdzenie Lidströma jest takie, że konstrukcja shared_ptr<Base> p(new Derive ... eśli jest) zaimplementować shared_ptr bez wymogu posiadania Wirtualnego destruktora przez klasy polimorficzne? Z góry dzięki

Dlaczego biblioteki i frameworki C++ nigdy nie używają inteligentnych wskaźników?

Czytałem w kilku artykułach, że surowe wskaźniki prawie nigdy nie powinny być używane. Zamiast tego powinny być zawsze zawini ... o? Po prostu zastanawiam się, dlaczego inteligentne wskaźniki są zalecane, gdy wiele dużych projektów wydaje się ich unikać.

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

Czy jest jakiś użytek z unikalnego PST z tablicą?

std::unique_ptr posiada wsparcie dla tablic, na przykład: std::unique_ptr<int[]> p(new int[10]); Ale czy jest to potrzebne? prawdopodobnie wygodniej jest używać std::vector lub std::array. Czy znalazłeś jakiś pożytek dla tego konstruktu?

Kiedy używać współdzielonego PST, a kiedy surowych wskaźników?

class B; class A { public: A () : m_b(new B()) { } shared_ptr<B> GimmeB () { retu ... i zwraca je, a między wywołującym i wywołującym istnieje zrozumienie, że ta pierwsza jest teraz "odpowiedzialna" za te dane.

Przykład użycia współdzielonego PST?

Witam zadałem dzisiaj pytanie o Jak wstawić różne typy obiektów w tej samej tablicy wektorowej i mój kod w tym pytaniu to ... o_vector; ........ FooPtr foo_ptr( new Foo( 2 ) ); foo_vector.push_back( foo_ptr ); ........... } I nie rozumiem składni!

C++11: zastąpić wszystkie Nie będące właścicielami raw wskaźniki std:: shared ptr ()?

Wraz z pojawieniem się std::unique_ptr, skazy std::auto_ptr mogą być w końcu uśpione. Tak więc przez ostatnie kilka dni zmie ... z std::unique_ptr, czy może jest tak, że jeśli używam std::shared_ptr, wszystkie uchwyty powinny być również std::shared_ptr?

Dlaczego auto PST jest przestarzałe?

Słyszałem, że auto_ptr jest przestarzały w C++11. Jaki jest tego powód? Również chciałbym poznać różnicę między auto_ptr i shared_ptr.

Kiedy należy używać surowych wskaźników nad inteligentnymi wskaźnikami?

Po przeczytaniu Tej odpowiedzi, wygląda na to, że najlepszą praktyką jest używanie inteligentnych wskaźników w jak największym stopniu i ograniczenie użycia "normalnych"/surowych wskaźników do minimum. Czy to prawda?

Jak zwrócić Inteligentne Wskaźniki (współdzielony PST), według referencji lub wartości?

Załóżmy, że mam klasę z metodą, która zwraca shared_ptr. Jakie są możliwe korzyści i wady zwrotu przez odniesienie lub przez ... się zdarzyć? Koszt. Pass-by-value z pewnością nie jest wolny. Czy warto tego unikać w miarę możliwości? Dziękuję wszystkim.

RAII vs. Garbage Collector

Ostatnio oglądałem świetny wykład Herba Suttera na temat " Leak Free C++..."na CppCon 2016, gdzie mówił o użyciu inteligentny ... bardziej wydajne, ponieważ może uwolnić większe kawałki pamięci na raz, zamiast uwalniać małe kawałki pamięci w całym kodzie.