std::experimental::weak_ptr<T>::weak_ptr
来自cppreference.com
< cpp | experimental | weak ptr
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
的类型“N
个 U
的数组”,并且 T
为类型“(可能 cv 限定的)U
的位置边界的数组”,否则模板化重载不参与重载决议。3) 移动构造函数。从 r 向 *this 移动
weak_ptr
实例。此后,r 为空且 r.use_count() == 0。除非 Y*
可隐式转换为 T*
,或者 Y
为对于某个类型 U
和某个数值 N
的类型“N
个 U
的数组”,并且 T
为类型“(可能 cv 限定的)U
的位置边界的数组”,否则模板化重载不参与重载决议。参数
r | - | 将由此 std::experimental::weak_ptr 查看的 std::experimental::shared_ptr 或 std::experimental::weak_ptr |
异常
noexcept 说明:
noexcept
示例
本节未完成 原因:暂无示例 |
参阅
构造新的 weak_ptr ( std::weak_ptr<T> 的公开成员函数) | |
为 weak_ptr 赋值 ( std::weak_ptr<T> 的公开成员函数) |