std::experimental::unique_resource<R, D>::reset
来自 cppreference.cn
< cpp | experimental | unique_resource
void reset() noexcept; |
(1) | (库基础 TS v3) |
template< class RR > void reset( RR&& r ); |
(2) | (库基础 TS v3) |
1) 如果
unique_resource
拥有该资源,则通过使用底层资源句柄调用删除器来处置该资源。调用后,unique_resource
不再拥有该资源。2) 通过调用 (1) 替换资源,然后如果 std::is_nothrow_assignable_v<RS, RR> 为 true,则使用 std::forward<RR>(r) 赋值存储的资源句柄;否则使用 std::as_const(r),其中
RS
是存储资源句柄的类型。调用后,unique_resource
拥有该资源。 如果存储资源句柄的复制赋值抛出异常,则调用 del_(r),其中
del
是删除器对象。 此重载仅当赋值存储资源句柄的所选赋值表达式格式良好时才参与重载决议。
如果 del_(r) 格式不良好,则程序格式不良好。
如果 del_(r) 导致未定义行为或抛出异常,则行为未定义。
目录 |
[编辑] 参数
r | - | 要管理的新资源的资源句柄 |
[编辑] 返回值
(无)
[编辑] 异常
2) 赋值存储资源句柄时抛出的任何异常。
[编辑] 注意
此机制确保不会泄漏资源。
[编辑] 示例
本节不完整 原因:无示例 |
[编辑] 参阅
替换托管对象 ( std::unique_ptr<T,Deleter> 的公共成员函数) |