Namespaces
Variants

guides de déduction pour std::optional

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de type (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
 
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 afin de prendre en compte les cas limites manqués par les guides de déduction implicites, en particulier, les arguments non copiables et la conversion de tableau en pointeur.

Exemple

#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);
}