Deductionshilfen für std::optional
Von cppreference.com
| 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
Führen Sie diesen Code aus
#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); }