std::experimental::unique_resource<R, D>:: reset
From cppreference.net
<
cpp
|
experimental
|
unique resource
|
void
reset
(
)
noexcept
;
|
(1) | (库基础技术规范 v3) |
|
template
<
class
RR
>
void reset ( RR && r ) ; |
(2) | (库基础技术规范 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>
的公开成员函数)
|