std::experimental::weak_ptr<T>::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 图形
 
 
 
constexpr weak_ptr() noexcept;
(1) (库基础 TS)
weak_ptr( const weak_ptr& r ) noexcept;
(2) (库基础 TS)
template< class Y >
weak_ptr( const weak_ptr<Y>& r ) noexcept;
(2) (库基础 TS)
template< class Y >
weak_ptr( const std::experimental::shared_ptr<Y>& r ) noexcept;
(2) (库基础 TS)
weak_ptr( weak_ptr&& r ) noexcept;
(3) (库基础 TS)
template< class Y >
weak_ptr( weak_ptr<Y>&& r ) noexcept;
(3) (库基础 TS)

构造与 r 潜在共享对象的新 weak_ptr

1) 默认构造函数。构造空 weak_ptr
2) 构造共享 r 所管理对象的新 weak_ptr。如果 r 不管理对象,则 *this 也不管理对象。除非 Y* 可隐式转换为 T*,或者 Y 为对于某个类型 U 和某个数值 N 的类型“NU 的数组”,并且 T 为类型“(可能 cv 限定的)U 的位置边界的数组”,否则模板化重载不参与重载决议。
3) 移动构造函数。从 r*this 移动 weak_ptr 实例。此后,r 为空且 r.use_count() == 0。除非 Y* 可隐式转换为 T*,或者 Y 为对于某个类型 U 和某个数值 N 的类型“NU 的数组”,并且 T 为类型“(可能 cv 限定的)U 的位置边界的数组”,否则模板化重载不参与重载决议。

参数

r - 将由此 std::experimental::weak_ptr 查看的 std::experimental::shared_ptrstd::experimental::weak_ptr

异常

noexcept 说明:  
noexcept
  

示例

参阅

构造新的 weak_ptr
(std::weak_ptr<T> 的公开成员函数)
weak_ptr 赋值
(std::weak_ptr<T> 的公开成员函数)