std::experimental::unique_resource<R, D>::reset
來自 cppreference.com
< 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> 的公共成員函式) |