名稱空間
變體
操作

std::optional 的推導指南

來自 cppreference.com
< cpp‎ | 工具‎ | optional
 
 
 
 
定義於標頭檔案 <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}; // uses explicit deduction guide
    static_assert(std::is_same_v<decltype(oa), std::optional<int*>> == true);
}