Pytania oznaczone «shared-ptr»

Odwołanie do liczonej klasy inteligentnego wskaźnika implementującej współdzieloną własność

276
Różnica w make_shared i normal shared_ptr w C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Wiele postów z Google i Stackoverflow jest na ten temat, ale nie jestem w stanie zrozumieć, dlaczego make_sharedjest bardziej wydajny niż bezpośrednie korzystanie...

172
shared_ptr do tablicy: czy należy go używać?

Tylko małe zapytanie dotyczące shared_ptr. Czy warto shared_ptrwskazać tablicę? Na przykład, shared_ptr<int> sp(new int[10]); Jeśli nie, to dlaczego nie? Jednym z powodów, o których już wiem, jest to, że nie można zwiększać / zmniejszać wartości shared_ptr. Dlatego nie może być używany...

129
Dlaczego std :: shared_ptr <void> działa

Znalazłem kod używający std :: shared_ptr do wykonania dowolnego czyszczenia przy wyłączaniu. Na początku myślałem, że ten kod nie może działać, ale potem wypróbowałem następujące: #include <memory> #include <iostream> #include <vector> class test { public: test() {...

106
Wyjaśnienie bezpieczeństwa wątków std :: shared_ptr

Czytam http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html i niektóre problemy z bezpieczeństwem wątków nadal nie są dla mnie jasne: Standardowo gwarantuje, że zliczanie referencji jest obsługiwane wątkowo i niezależne od platformy, prawda? Podobny problem - standardowa gwarancja, że...

103
Gdzie jest shared_ptr?

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...

101
std :: shared_ptr tego

Obecnie próbuję nauczyć się korzystać z inteligentnych wskaźników. Jednak podczas niektórych eksperymentów odkryłem następującą sytuację, dla której nie mogłem znaleźć satysfakcjonującego rozwiązania: Wyobraź sobie, że masz obiekt klasy A będący rodzicem obiektu klasy B (dziecko), ale oboje...

82
Przykład użycia shared_ptr?

Cześć Zadałem dziś pytanie o to, jak wstawiać różne typy obiektów w tej samej tablicy wektorowej, a mój kod w tym pytaniu był gate* G[1000]; G[0] = new ANDgate() ; G[1] = new ORgate; //gate is a class inherited by ANDgate and ORgate classes class gate { ..... ...... virtual void Run() {...