std::optional<T>::~optional
cppreference.net에서 가져옴
~optional();
|
(C++17부터) (C++20부터 constexpr) |
|
객체가 값을 포함하고 타입 T 이(가) 간단하게 소멸 가능하지 않은 경우(std::is_trivially_destructible 참조), 소멸자를 호출하여 포함된 값을 소멸시킵니다. 이는 다음과 같습니다. value().T::~T().
그렇지 않으면 아무 작업도 수행하지 않습니다.
참고 사항
만약
T
가 trivially-destructible이면, 이 소멸자 또한 trivial하므로
std::
optional
<
T
>
또한 trivially-destructible입니다.
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_optional
|
202106L
|
(C++20)
(DR20) |
완전한 constexpr |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| P2231R1 | C++20 | 소멸자가 constexpr 가 아니었으나 C++20에서는 비트리비얼 소멸자들이 constexpr 일 수 있음 | constexpr 로 변경됨 |