std::optional<T>:: ~optional
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
optional::~optional
|
||||
| Observers | ||||
| Iterators | ||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Monadic operations | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
| Helper objects | ||||
|
~optional
(
)
;
|
(depuis C++17)
(constexpr depuis C++20) |
|
Si l'objet contient une valeur et que le type
T
n'est pas trivialement destructible (voir
std::is_trivially_destructible
), détruit la valeur contenue en appelant son destructeur, comme par
value
(
)
.
T
::
~T
(
)
.
Sinon, ne fait rien.
Notes
Si
T
est trivialement destructible, alors ce destructeur est également trivial, donc
std::
optional
<
T
>
est également trivialement destructible.
| Macro de test de fonctionnalité | Valeur | Std | Fonctionnalité |
|---|---|---|---|
__cpp_lib_optional
|
202106L
|
(C++20)
(DR20) |
Complètement constexpr |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| P2231R1 | C++20 | le destructeur n'était pas constexpr alors que les destructeurs non triviaux peuvent être constexpr en C++20 | rendu constexpr |