std::experimental:: observer_ptr
From cppreference.net
<
cpp
|
experimental
|
定义于头文件
<experimental/memory>
|
||
|
template
<
class
W
>
class observer_ptr ; |
(库基础技术规范 v2) | |
std::experimental::observer_ptr
是一种非拥有式指针,或称
观察者
。该观察者存储指向第二个对象(称为
被观察对象
)的指针。
observer_ptr
也可以不关联任何被观察对象。
观察者不以任何方式对被观察对象负责;观察者与其观察的对象之间不存在固有关系。
它旨在作为原始指针类型的近乎直接替代品,其优势在于作为词汇类型,无需代码阅读者进行详细分析即可表明其预期用途。
observer_ptr
的特化满足
CopyConstructible
与
CopyAssignable
的要求。
| 类型要求 | ||
-
W
不应为引用类型,但可以是不完整类型。
|
目录 |
成员类型
| 成员类型 | 定义 |
| element_type |
W
,此
observer_ptr
所监视对象的类型
|
成员函数
构造新的
observer_ptr
(公开成员函数) |
|
|
(destructor)
(implicitly declared)
|
销毁
observer_ptr
(公开成员函数) |
|
operator=
(implicitly declared)
|
隐式声明的复制和移动赋值运算符,用于赋值存储的指针
(公开成员函数) |
修改器 |
|
|
返回指向被监视对象的指针并停止监视该对象
(公开成员函数) |
|
|
替换被监视对象
(公开成员函数) |
|
|
交换被监视对象
(公开成员函数) |
|
观察器 |
|
|
返回指向被监视对象的指针
(公开成员函数) |
|
|
检查是否存在关联的被监视对象
(公开成员函数) |
|
|
解引用指向被监视对象的指针
(公开成员函数) |
|
转换 |
|
|
显式转换函数到存储的指针
(公开成员函数) |
|
非成员函数
创建监视对象的
observer_ptr
(函数模板) |
|
与另一个
observer_ptr
或与
nullptr
进行比较
(函数模板) |
|
特化
swap
算法
(函数模板) |
辅助类
observer_ptr
的哈希支持
(类模板特化) |
示例
|
本节内容不完整
原因:缺少示例 |