std::out_ptr_t<Smart,Pointer,Args...>::out_ptr_t
来自cppreference.com
工具库
动态内存管理
|
std::out_ptr_t
成员函数 | ||||
out_ptr_t::out_ptr_t
(C++23)
|
||||
(C++23)
|
||||
(C++23)(C++23)
|
||||
非成员函数 | ||||
(C++23)
|
explicit
out_ptr_t(
Smart &sp,
Args... args
);
|
(1) | (C++23 起) |
out_ptr_t(
const
out_ptr_t&
) =
delete;
|
(2) | (C++23 起) |
1) 创建
out_ptr_t
。如同将
sp
绑定到 Smart&
成员一般适配它,如同用 std::forward<T>(t) 初始化对应的
Args...
中类型 T
的成员一般捕获 args...
中的实参 t
,然后值初始化存储的 Pointer
。2) 复制构造函数被显示删除。
out_ptr_t
既不可复制又不可移动。参数
sp | - | 要适配的对象(常为智能指针) |
args... | - | 要捕获的用于重设的实参 |
返回值
(无)
异常
可能会抛出由实现定义的异常。
注解
构造后,任一转换函数的返回值所指向的 Pointer
或 void* 对象等于 nullptr 。
args...
中的每个参数若拥有对象类型则被移动到创建的 out_ptr_t
中,而若拥有引用类型则保持原状转移到创建的 out_ptr_t
中。
允许 out_ptr_t
抛出异常。例如当 sp
为 std::shared_ptr
时,新的控制块的分配可以在构造函数而非析构函数内进行。
示例
本节未完成 原因:暂无示例 |