Zastanawiam się, czy są jakieś różnice między boost::shared_ptr
i std::shared_ptr
znalezione w standardowym pliku <memory>
.Różnica między boost :: shared_ptr i std :: shared_ptr ze standardowego pliku <memory>
25
A
Odpowiedz
19
std::shared_ptr
jest formularzem C++ 0x z tr1::shared_ptr
, a funkcja wzmocnienia boost::shared_ptr
powinna zachowywać się tak samo.
Jednak std::shared_ptr
, w realizacji, że jest zgodny ze standardem C++ 0x, powinien/może mieć większą wygodę na zachowanie klasy shared_ptr
, jak opisano w poniższych linków:
The
shared_ptr
jest wskaźnikiem zliczającym odniesienia, który działa jak najwięcej jak zwykły wskaźnik danych C++. W implementacji TR1 brakowało pewnych funkcji wskaźnika, takich jak aliasing i arytmetyka wskaźnika, ale wersja C++ 0x doda je.
Choć z szybkim pobieżny rzut oka nie widzę operator+
i podobne operacje arytmetyczne typu shared_ptr
.
Powiązane problemy
- 1. C++ 0x std :: shared_ptr vs. boost :: shared_ptr
- 2. Różnice między tr1 :: shared_ptr i boost :: shared_ptr?
- 3. boost :: ptr_container i std :: vector <shared_ptr>
- 4. Jak radzić sobie z ewoluującym C++ std :: namespace? np: std :: tr1 :: shared_ptr vs. std :: shared_ptr vs. boost :: shared_ptr vs. boost :: tr1 :: shared_ptr
- 5. jak działa boost :: ~ shared_ptr?
- 6. Korzystanie z Boost Python & std :: shared_ptr
- 7. C++ 11 std :: shared_ptr + boost :: serializacja
- 8. shared_ptr in std :: tr1
- 9. QList i shared_ptr
- 10. std :: shared_ptr i initializer listy
- 11. Używanie niestandardowego deltera ze std :: shared_ptr
- 12. Różnice między różnymi smakami shared_ptr
- 13. std :: shared_ptr and Inheritance
- 14. Obsada „to” std :: shared_ptr
- 15. Apple i shared_ptr
- 16. Czy istnieje sposób na przesłanie pliku shared_ptr <void> do shared_ptr <T>?
- 17. Initialize Boost shared_ptr w konstruktorze
- 18. Jak celowo usunąć boost :: shared_ptr?
- 19. Inicjowanie boost :: shared_ptr na NULL
- 20. Deklaracje przekazywania i shared_ptr
- 21. Tworzenie boost :: thread z instancją obiektu std :: shared_ptr
- 22. Przekazywanie std :: shared_ptr do konstruktorów
- 23. std :: shared_ptr i dlopen(), unikając niezdefiniowanych zachowań
- 24. Używanie luabind i std :: shared_ptr z dziedziczeniem
- 25. Jak przekazać parametr domyślny dla std :: shared_ptr <PureVirtualClass>
- 26. Jaka jest różnica między std :: to_string, boost :: to_string i boost :: lexical_cast <std::string>?
- 27. Podnieś shared_ptr koszt dereferencji
- 28. Dlaczego licznik odwołań w boost :: shared_ptr volatile?
- 29. NULL wskaźnik z boostem :: shared_ptr?
- 30. Jak sortować kontener obiektów std :: shared_ptr <Widget>?
To zależy od twojej implementacji. – robert
@robert Czy można ich używać zamiennie? Próbuję wdrożyć ten http://stackoverflow.com/questions/3559412/how-to-store-different-data-types-in-one-list-c/3560884#3560884 – Pepe
@ P.R. - 'std :: shared_ptr' jest formą C++ 0x' tr1 :: shared_ptr', a boost 'shared_ptr' powinno zachowywać się tak samo: http://stackoverflow.com/questions/3831572/differences-between-tr1shared- ptr-and-boostshared-ptr – birryree