Namensräume
Varianten
Aktionen

Deductionshilfen für std::optional

Von cppreference.com
< cpp‎ | utility‎ | optional
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
Definiert in der Header-Datei <optional>
template< class T >
optional(T) -> optional<T>;
(seit C++17)

Eine Deductionshilfe wird für std::optional bereitgestellt, um die von den impliziten Deductionshilfen übersehenen Randfälle zu berücksichtigen, insbesondere nicht kopierbare Argumente und Array-zu-Zeiger-Konvertierungen.

[bearbeiten] Beispiel

#include <optional>
#include <type_traits>
 
int main()
{
    int a[2];
    std::optional oa{a}; // uses explicit deduction guide
    static_assert(std::is_same_v<decltype(oa), std::optional<int*>> == true);
}