руководства по выводу типов для std::optional
С сайта ru.cppreference.net
| Определён в заголовке <optional>
|
||
template< class T >
optional(T) -> optional<T>;
|
(начиная с C++17) | |
Одно руководство по выводу типов предоставлено для std::optional для учёта граничных случаев, пропущенных неявными руководствами по выводу, в частности, аргументов, не подлежащих копированию, и преобразования массива в указатель.
Пример
Запустить этот код
#include <optional> #include <type_traits> int main() { int a[2]; std::optional oa{a}; // использует явный направляющий вывод static_assert(std::is_same_v<decltype(oa), std::optional<int*>> == true); }