std::experimental::weak_ptr<T>:: weak_ptr
From cppreference.net
<
cpp
|
experimental
|
weak ptr
|
constexpr
weak_ptr
(
)
noexcept
;
|
(1) | (库基础技术规范) |
|
weak_ptr
(
const
weak_ptr
&
r
)
noexcept
;
|
(2) | (库基础技术规范) |
|
template
<
class
Y
>
weak_ptr ( const weak_ptr < Y > & r ) noexcept ; |
(2) | (库基础技术规范) |
|
template
<
class
Y
>
weak_ptr ( const std:: experimental :: shared_ptr < Y > & r ) noexcept ; |
(2) | (库基础技术规范) |
|
weak_ptr
(
weak_ptr
&&
r
)
noexcept
;
|
(3) | (库基础技术规范) |
|
template
<
class
Y
>
weak_ptr ( weak_ptr < Y > && r ) noexcept ; |
(3) | (库基础技术规范) |
构造一个新的
weak_ptr
,该指针可能与
r
共享对象。
1)
默认构造函数。构造空的
weak_ptr
。
2)
构造新的
weak_ptr
,其共享由
r
管理的对象。若
r
未管理任何对象,则
*
this
亦不管理任何对象。模板化重载仅在以下情况参与重载决议:
Y*
可隐式转换为
T*
,或
Y
为“
N
个
U
类型元素的数组”类型且
T
为“(可能带 cv 限定符的)
U
类型未知边界数组”类型。
3)
移动构造函数。将
weak_ptr
实例从
r
移动至
*
this
。此后,
r
为空且
r.
use_count
(
)
==
0
。模板化重载仅在以下情况下参与重载决议:
Y*
可隐式转换为
T*
,或
Y
是“
N
个
U
的数组”类型(其中
U
为某类型,
N
为某数值),且
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>
的公开成员函数)
|