template< class T > class shared_ptr;
|
|
(库基础 TS) |
|
|
|
std::experimental::shared_ptr
是 std::shared_ptr 的修改版本,添加了数组支持。
成员类型
成员函数
|
构造新的 shared_ptr
(公开成员函数) |
观察器
|
|
返回存储的指针
(公开成员函数) |
|
解引用存储的指针
(公开成员函数) |
|
提供访问数组的索引
(公开成员函数) |
非成员函数
辅助类
|
对 std::experimental::shared_ptr 的散列支持
(类模板特化) |
等同于 std::shared_ptr 的成员和非成员
成员函数
下列成员函数与 std::experimental::shared_ptr 和 std::experimental::weak_ptr 而非 std::shared_ptr 和 std::weak_ptr 一起工作。除此之外其行为相同。
|
如果没有更多 shared_ptr 指向所持有的对象,则析构该对象
(std::shared_ptr<T> 的公开成员函数) |
|
对 shared_ptr 赋值
(std::shared_ptr<T> 的公开成员函数) |
修改器
|
|
替换所管理的对象
(std::shared_ptr<T> 的公开成员函数) |
|
交换所管理的对象
(std::shared_ptr<T> 的公开成员函数) |
观察器
|
|
返回 shared_ptr 所指对象的引用计数
(std::shared_ptr<T> 的公开成员函数) |
|
检查所管理对象是否仅由当前 shared_ptr 的对象管理
(std::shared_ptr<T> 的公开成员函数) |
|
检查是否有关联的管理对象
(std::shared_ptr<T> 的公开成员函数) |
|
提供基于持有者的共享指针排序
(std::shared_ptr<T> 的公开成员函数) |
非成员函数
这些非成员函数声明于 std::experimental
命名空间,并且与 std::experimental::shared_ptr
而非 std::shared_ptr 一起工作,除此之外其表现与对应的 C++14 函数相同。
|
创建管理一个新对象的共享指针
(函数模板) |
|
创建管理一个用分配器分配的新对象的共享指针
(函数模板) |
|
返回指定类型中的删除器,若其拥有
(函数模板) |
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
|
与另一个 shared_ptr 或 nullptr 进行比较
(函数模板) |
|
将存储的指针的值输出到输出流
(函数模板) |
|
特化 std::swap 算法
(函数模板) |
|
为 std::shared_ptr 特化的原子操作
(函数模板) |
辅助类模板
这些类模板声明于 std::experimental
命名空间,并且与 std::experimental::shared_ptr
和 std::experimental::weak_ptr 而非 std::shared_ptr 和 std::weak_ptr 一起工作,除此之外它们的表现与对应的 C++14 类模板相同。
|
提供共享指针和弱指针的基于所有者的混合类型排序
(类模板) |
|
允许对象创建指代自身的 shared_ptr
(类模板) |
示例