deduction guides for
std::optional
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::optional
| Member functions | ||||
| Observers | ||||
| Iterators | ||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Monadic operations | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
| Modifiers | ||||
| Non-member functions | ||||
| Deduction guides | ||||
| Helper classes | ||||
| Helper objects | ||||
|
Défini dans l'en-tête
<optional>
|
||
|
template
<
class
T
>
optional ( T ) - > optional < T > ; |
(depuis C++17) | |
Un guide de déduction est fourni pour std::optional pour prendre en compte les cas particuliers manqués par les guides de déduction implicites, en particulier, les arguments non copiables et la conversion de tableau en pointeur.
Exemple
Exécuter ce code
#include <optional> #include <type_traits> int main() { int a[2]; std::optional oa{a}; // utilise le guide de déduction explicite static_assert(std::is_same_v<decltype(oa), std::optional<int*>> == true); }