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
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 konstruktu?
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 typy ulepszeń, ale nie wszystkie. Czy ktoś ma …
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 produkcyjnym?
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 included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …
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 wskaźnikami?
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ł)), czy powinienem być świadomy pewnych różnic, które nie …
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 unique_ptrgo prawie cały czas. Ale jak bym zaimplementował …
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 takie jak Boost nigdy nie zwracają ani nie …
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 zasobu? Dlaczego nie miałbym po prostu tego zrobić? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }
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 int(1));
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 pytanie brzmi, jakie są różne implementacje inteligentnych wskaźników w C …
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 . Zamknięte 8 lat temu . C ++ dotyczy własności …
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 nadal się nie pojawiają! Czy ktoś może mi pomóc, podając dokładnie, gdzie go …
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 zepchnięte w dół będą większe (przynajmniej tak …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.