std::experimental::optional<T>::~optional
From cppreference.com
< cpp | experimental | optional
| ~optional(); |
(Library Fundamentals TS) | |
オブジェクトが値を保持しており、かつ型Tが自明に破壊可能 (trivially destructible) でない場合(std::is_trivially_destructible を参照)、保持している値をそのデストラクタを呼び出すことによって破棄します。あたかも val->T::~T() が呼び出されたかのように動作します。
それ以外の場合は、何も行いません。
[編集] 注記
もしTが自明に破壊可能であれば、このデストラクタも自明であり、したがってoptional<T>も自明に破壊可能となります。