| std::optional::~optional(3) | C++ Standard Libary | std::optional::~optional(3) | 
NAME¶
std::optional::~optional - std::optional::~optional
Synopsis¶
 ~optional(); (since C++17)
  
   (constexpr since C++20)
  
   If the object contains a value and the type T is not trivially destructible
    (see
  
   std::is_trivially_destructible), destroys the contained value by calling its
  
   destructor, as if by value().T::~T().
  
   Otherwise, does nothing.
Notes¶
 If T is trivially-destructible, then this destructor is also
    trivial, so
  
   std::optional<T> is also trivially-destructible.
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   the destructor was not constexpr while
  
   P2231R1 C++20 non-trivial destructors can be constexpr in made constexpr
  
   C++20
| 2024.06.10 | http://cppreference.com |