Co to jest inteligentny wskaźnik i kiedy powinienem go
Abstrakcyjny typ danych, który symuluje wskaźnik, jednocześnie zapewniając dodatkowe funkcje, takie jak automatyczne wyrzucanie elementów bezużytecznych lub sprawdzanie granic
Co to jest inteligentny wskaźnik i kiedy powinienem go
std::unique_ptr obsługuje tablice, na przykład: std::unique_ptr<int[]> p(new int[10]); ale czy jest to potrzebne? prawdopodobnie jest wygodniejszy w użyciu std::vectorlub std::array. Czy znajdujesz zastosowanie dla tego
Ok, więc ostatnim razem, gdy pisałem C ++ na życie, std::auto_ptrbyło wszystko, co było dostępne w standardowej wersji lib, i to boost::shared_ptrbyła wściekłość. Nigdy tak naprawdę nie przyglądałem się innym dostępnym rodzajom inteligentnych wskaźników. Rozumiem, że C ++ 11 zapewnia teraz niektóre...
Jaka jest różnica między następującym zestawem wskaźników? Kiedy w ogóle używasz każdego wskaźnika w kodzie produkcyjnym? Przykłady będą mile widziane! scoped_ptr shared_ptr weak_ptr intrusive_ptr Czy używasz wzmocnienia w kodzie
Co jest nie tak z tym programem? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Błąd: In file...
W praktyce z C ++, czym jest RAII , czym są inteligentne wskaźniki , jak są one implementowane w programie i jakie są zalety korzystania z RAII z inteligentnymi
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ł)),...
Mam problem ze zrozumieniem użycia inteligentnych wskaźników jako członków klasy w C ++ 11. Dużo czytałem o inteligentnych wskazówkach i myślę, że rozumiem, jak unique_ptri shared_ptr/ weak_ptrdziała ogólnie. To, czego nie rozumiem, to prawdziwe użycie. Wygląda na to, że wszyscy zalecają używanie...
W kilku artykułach przeczytałem, że surowe wskaźniki prawie nigdy nie powinny być używane. Zamiast tego powinny być zawsze opakowane w inteligentne wskaźniki, niezależnie od tego, czy są to wskaźniki zakresowe, czy wspólne. Zauważyłem jednak, że frameworki takie jak Qt, wxWidgets i biblioteki...
Przeglądałem kod źródłowy Clang i znalazłem ten fragment: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Dlaczego miałbym chcieć ?std::movestd::shared_ptr Czy jest jakiś sens przenoszenia własności do udostępnionego...
Czy std::make_uniquema jakieś korzyści związane z wydajnością std::make_shared? W porównaniu z tworzeniem ręcznym std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new
Porównania, zalety, wady i kiedy używać? Jest to spin-off z wątku usuwania śmieci, w którym to, co uważałem za prostą odpowiedź, wygenerowało wiele komentarzy na temat niektórych konkretnych implementacji inteligentnych wskaźników, więc wydawało się, że warto rozpocząć nowy post. Ostatecznie...
Trudno powiedzieć, o co się tutaj pyta. Pytanie to jest niejednoznaczne, niejasne, niekompletne, zbyt szerokie lub retoryczne i nie można na nie rozsądnie odpowiedzieć w obecnej formie. Aby uzyskać pomoc w wyjaśnieniu tego pytania i ponownym otwarciu, odwiedź Centrum pomocy ....
Jestem bardzo sfrustrowany po kilku godzinach prób znalezienia lokalizacji shared_ptr. Żaden z przykładów, które widzę, nie pokazuje pełnego kodu zawierającego nagłówki shared_ptr(i działające). Po prostu stwierdzając std, tr1i <memory>nie pomaga w ogóle! Pobrałem doładowania i wszystko, ale...
Ile kosztuje narzut inteligentnych wskaźników w porównaniu do zwykłych wskaźników w C ++ 11? Innymi słowy, czy mój kod będzie wolniejszy, jeśli użyję inteligentnych wskaźników, a jeśli tak, to o ile wolniej? W szczególności pytam o C ++ 11 std::shared_ptri std::unique_ptr. Oczywiście rzeczy...
Pytanie naprawdę pasuje do tytułu: jestem ciekawy, jaki jest techniczny powód tej różnicy, ale także uzasadnienie? std::shared_ptr<void> sharedToVoid; // legal; std::unique_ptr<void> uniqueToVoid; // ill-formed;
Powiedzmy, że mam klasę z metodą, która zwraca shared_ptr. Jakie są możliwe zalety i wady zwrotu na podstawie referencji lub wartości? Dwie możliwe wskazówki: Wczesne niszczenie obiektów. Jeśli shared_ptrzwrócę odwołanie by (const), licznik odwołań nie zostanie zwiększony, więc ponoszę...
Słyszałem, auto_ptrże w C ++ 11 jest przestarzały. Jaki jest tego powód? Chciałbym również poznać różnicę między auto_ptri shared_ptr.
Jaka jest najlepsza metoda przekazywania a shared_ptrtypu pochodnego do funkcji, która przyjmuje shared_ptrtyp podstawowy? Generalnie przekazuję shared_ptrje jako odniesienie, aby uniknąć niepotrzebnych kopii: int foo(const shared_ptr<bar>& ptr); ale to nie działa, jeśli spróbuję...
Pan Lidström i ja pokłóciliśmy się :) Pan Lidström twierdzi, że konstrukcja shared_ptr<Base> p(new Derived);nie wymaga, aby Base miał wirtualnego destruktora: Armen Tsirunyan : "Naprawdę? Czy shared_ptr wyczyści się poprawnie? Czy mógłbyś w tym przypadku zademonstrować, jak można...