template<classT>classshared_ptr; (C++11 起) std::shared_ptr是一种通过指针保持对象共享所有权的智能指针。多个shared_ptr对象可持有同一对象。下列情况之一出现时销毁对象并解分配其内存: 最后剩下的持有对象的shared_ptr被销毁; 最后剩下的持有对象的shared_ptr被通过operator=或reset()赋值为另一指针。
template< class T > class shared_ptr; (C++11 起) std::shared_ptr 是一种通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可持有同一对象。下列情况之一出现时销毁对象并解分配其内存: 最后剩下的持有对象的 shared_ptr 被销毁; 最后剩下的持有对象的 shared_ptr 被通过 operator= 或reset...
shared_ptr(Y*ptr, Deleter d, Alloc alloc); (6) template<classDeleter,classAlloc> shared_ptr(std::nullptr_tptr, Deleter d, Alloc alloc); (7) template<classY> shared_ptr(constshared_ptr<Y>&r, element_type*ptr)noexcept; (8) template<classY> ...
shared_ptr::swap Observers shared_ptr::get shared_ptr::operator*shared_ptr::operator-> shared_ptr::operator[] (C++17) shared_ptr::use_count shared_ptr::unique (until C++20*) shared_ptr::operator bool shared_ptr::owner_before shared_ptr::owner_hash ...
[3] https://en.cppreference.com/w/cpp/memory/shared_ptr/get[4] https://en.cppreference.com/w/cpp/language/copy_elision[5] https://www.boost.org/doc/libs/1_76_0/libs/rational/[6] https://www.boost.org/doc/libs/1_76_0/libs/utility/operators.htm...
unique_ptr(C++11) shared_ptr(C++11) Biblioteca de utilitários gerais Objectos de função−hash(C++11) Funções utilitárias pair−tuple(C++11) optional(C++17)−any(C++17) variant(C++17) Conversões de string(C++17) Formatting(C++20) ...
std::hash<std::shared_ptr> (C++11) Support du hachage pour std::shared_ptr (classe générique spécialisée) [edit] std::hash<std::type_index> (C++11) soutien de hachage pour std::type_index Original: hash support for std::type_index The text has been machine-translated via...
weak_ptr std::shared_ptr<int> sp = std::make_shared<int>(42); std::weak_ptr<int> wp = sp; // 检查引用对象是否存在 if (auto locked = wp.lock()) { std::cout << *locked << std::endl; // 输出: 42 } else { std::cout << "对象已被销毁" << std::endl; } // 检查是...
std::hash<std::unique_ptr> (C++11) Hash-Unterstützung für std::unique_ptr (class Template-Spezialisierung) [edit] std::hash<std::shared_ptr> (C++11) Hash-Unterstützung für std::shared_ptr (class Template-Spezialisierung) [edit] std::hash<std::type_index> (C++11) Ha...
shared_ptr Reference-counted smart pointer. Use when you want to assign one raw pointer to multiple owners, for example, when you return a copy of a pointer from a container but want to keep the original. The raw pointer is not deleted until all shared_ptr owners have gone out of scope...