Scroll to navigation

deductionguidesforstd::optional(3) C++ Standard Libary deductionguidesforstd::optional(3)

NAME

deductionguidesforstd::optional - deductionguidesforstd::optional

Synopsis


Defined in header <optional>
template< class T > (since C++17)
optional(T) -> optional<T>;


One deduction guide is provided for std::optional to account for the edge cases
missed by the implicit deduction guides, in particular, non-copyable arguments and
array to pointer conversion.

Example

// Run this code


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

2024.06.10 http://cppreference.com