shared-ptr
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")) ... ych przez oba tak, abym mógł zrozumieć, jak make_shared jest wydajny. Podałem jeden przykład powyżej w celach informacyjnych.
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 powinniśmy przekazać współdzielony PST według referencji czy wartości?
Gdy funkcja przyjmuje shared_ptr (z boost lub C++11 STL), czy przekazujesz ją:
Autor: const reference: void foo(const shar ... odatkowe problemy?
Czy mógłby Pan podać powody swojego wyboru lub, jeśli sprawa, dlaczego uważa pan, że to nie ma znaczenia?
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?
współdzielony PST do tablicy: czy należy go używać?
Tylko małe zapytanie dotyczące shared_ptr.
Czy dobrą praktyką jest używanie shared_ptr Wskazywania tablicy? Na przykład,
... świadomy, jest to, że nie można zwiększyć/zmniejszyć shared_ptr. Dlatego nie może być używany jak zwykły wskaźnik do tablicy.
C++ - przekazywanie odniesień do std:: shared ptr lub boost:: shared ptr
Jeśli mam funkcję, która musi pracować z shared_ptr, czy nie byłoby bardziej efektywne przekazanie jej odniesienia do niej (a ... potem-pracować-na-hotspotach. Moje pytanie było bardziej z czysto technicznego punktu widzenia, jeśli wiesz, co mam na myśli.
Jak wywołać:std:: make shared on a class with only protected or private constructors?
Mam ten kod, który nie działa, ale myślę, że intencja jest jasna:
testmakeshared.cpp
#include <memory>
class A {
... obiec tworzeniu obiektu tej klasy, który nie jest wskazywany przez ::std::shared_ptr. Czy jest jakiś sposób, aby to osiągnąć?
wspólne PST i słabe różnice w PST
Czytam książkę Scotta Meyersa " efektywne C++". Wspomniano, że istnieją tr1::shared_ptr i tr1::weak_ptr działają jak wbudowan ... sza niż zero. Uprzejmie proszę o przykładowy program C++. Jak rozwiązuje problem weak_ptrs? (jeszcze raz, proszę o przykład).
Przekazywanie współdzielonych wskaźników jako argumentów
Jeśli zadeklaruję obiekt zawinięty w współdzielony Wskaźnik:
std::shared_ptr<myClass> myClassObject(new myClass());
... j czytelne i nie przewiduję przesuwania limitów wydajności. Chcę się upewnić, że nie ma w tym nic niebezpiecznego.
Dziękuję.
Dlaczego działa STD:: shared ptr
Znalazłem jakiś kod używając STD:: shared_ptr do wykonania dowolnego czyszczenia przy zamykaniu. Na początku myślałem, że ten ... tandard, czy może dalsze zmiany w wewnętrznych implementacjach std:: shared_ptr, inne implementacje faktycznie łamią ten kod?
Różnica między 'const shared PST' a 'shared PST'?
Piszę metodę accessor dla współdzielonego wskaźnika w C++, która wygląda tak:
class Foo {
public:
return_type getBar() ... estem pewien. I ' d doceniam to, jeśli ktoś, kto wie na pewno może to potwierdzić, lub poprawić mnie, jeśli się mylę. Dzięki!
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!
Koszt przejazdu przez wspólny PST
Używam STD::tr1:: shared_ptr intensywnie w całej mojej aplikacji. Obejmuje to przekazywanie obiektów jako argumentów funkcji. ... ra kopiującego, ale ogólnie jestem bardzo zadowolony ze zmniejszeniem związanego z tym czasu pracy. Dzięki wszystkim za Rady.
Współdzielenie boost:: wspólne PST i std:: wspólne PST
Chcę użyć boost::log w pewnym momencie, ale nie mogę przekazać std::shared_ptr jako parametru, ponieważ kompilator (VS2010) n ... ak aby nie potknąć się o siebie?
Nie wydaje mi się, że jest to duplikat tego pytania, które stwierdza, że oba są takie same.
static cast with boost:: shared PST?
Jaki jest odpowiednik static_cast z boost::shared_ptr?
Innymi słowy, jak mam przepisać następujące
Base* b = new Derived() ... b);
Podczas używania shared_ptr?
boost::shared_ptr<Base> b(new Derived());
boost::shared_ptr<Derived> d = ???
Jaka jest różnica między pustym a null STD:: shared ptr w C++?
The cplusplus.com shared_ptr Strona wywołuje rozróżnienie pomiędzy pustą std::shared_ptr oraz null shared_ptr. cppreferenc ... pustym-ale-non-null shared_ptr?
A czy któraś z tych odpowiedzi zmienia się, jeśli używasz wersji Boost zamiast wersji C++11?
Jakie są potencjalne zagrożenia podczas korzystania z trybu boost:: shared PST?
Jakie są sposoby na strzelanie sobie w stopę podczas używania boost::shared_ptr? Innymi słowy, jakich pułapek muszę unikać, gdy używam boost::shared_ptr?
Gdzie znajduje się wspólny PST?
Jestem teraz tak sfrustrowany po kilku godzinach, próbując znaleźć, gdzie znajduje się shared_ptr. Żaden z przykładów, które ... memory.hpp] i [boost/tr1/tr1/memory] szukając wszędzie shared_ptr.. oczywiście, nie mogłem.
Dzięki za wszystkie odpowiedzi.
std:: wspólne bezpieczeństwo wątku ptr wyjaśnione
Czytam http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html i niektóre problemy z bezpieczeństwem wątku nadal nie ... zastąpienie jej nową instancją? Ponadto po wywołaniu reset() w wątku IV inne wątki będą widzieć tylko nowo utworzony obiekt?