命名空间
变体
操作

std::experimental::weak_ptr

来自 cppreference.com
 
 
实验性
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
实验性非 TS
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
 
在头文件 <experimental/memory> 中定义
template< class T > class weak_ptr;
(库基础 TS)

std::experimental::weak_ptrstd::weak_ptr 的修改版本,它与 std::experimental::shared_ptr 互操作,并支持数组。

内容

[编辑] 成员类型

成员类型 定义
element_type std::remove_extent_t<T>

[编辑] 成员函数

构造新的 weak_ptr
(公共成员函数) [编辑]

成员和非成员与 std::weak_ptr 相同

成员函数

以下成员函数使用 std::experimental::shared_ptr 而不是 std::shared_ptr,以及 std::experimental::weak_ptr 而不是 std::weak_ptr。其他行为与之相同。

销毁 weak_ptr
(std::weak_ptr<T> 的公共成员函数) [编辑]
weak_ptr 赋值
(std::weak_ptr<T> 的公共成员函数) [编辑]
修改器
释放对托管对象的拥有权
(std::weak_ptr<T> 的公共成员函数) [编辑]
交换托管对象
(std::weak_ptr<T> 的公共成员函数) [编辑]
观察者
返回管理该对象的 shared_ptr 对象的数量
(std::weak_ptr<T> 的公共成员函数) [编辑]
检查引用的对象是否已被删除
(std::weak_ptr<T> 的公共成员函数) [编辑]
创建一个管理引用对象的 shared_ptr
(std::weak_ptr<T> 的公共成员函数) [编辑]
提供弱指针的基于所有者的排序
(std::weak_ptr<T> 的公共成员函数) [编辑]

非成员函数

此非成员函数在 std::experimental 命名空间中声明,并使用 std::experimental::weak_ptr 而不是 std::weak_ptr,但行为与相应的 C++14 函数相同。

专门化 std::swap 算法
(函数模板) [编辑]

[编辑] 示例