名稱空間
變體
操作

std::in_place, std::in_place_type, std::in_place_index, std::in_place_t, std::in_place_type_t, std::in_place_index_t

來自 cppreference.com
< cpp‎ | 工具
 
 
 
在標頭檔案 <utility> 中定義
struct in_place_t { explicit in_place_t() = default; };
(1) (C++17 起)
inline constexpr std::in_place_t in_place {};
(2) (C++17 起)
template< class T >
struct in_place_type_t { explicit in_place_type_t() = default; };
(3) (C++17 起)
template< class T >
constexpr std::in_place_type_t<T> in_place_type {};
(4) (C++17 起)
template< std::size_t I >
struct in_place_index_t { explicit in_place_index_t() = default; };
(5) (C++17 起)
template< std::size_t I >
constexpr std::in_place_index_t<I> in_place_index {};
(6) (C++17 起)
1,3,5) 型別/型別模板 std::in_place_tstd::in_place_type_tstd::in_place_index_t 可用於建構函式的引數列表,以匹配預期的標籤。
2,4,6) 相應的 std::in_placestd::in_place_typestd::in_place_index 例項(來自 (1,3,5))是消除歧義的標籤,可以傳遞給建構函式,以指示包含的物件應該就地構造,並且(對於後兩者)指定要構造的物件的型別。

[編輯] 標準庫

以下標準庫型別使用 (1-6) 作為消歧標籤

(C++17)
儲存任意 可複製構造 型別例項的物件
(類) [編輯]
(C++23)
一個包裝器,包含預期值或錯誤值
(類模板) [編輯]
任何支援給定呼叫簽名中限定符的可呼叫物件的僅移動包裝器
(類模板) [編輯]
(C++17)
可能包含或不包含物件的包裝器
(類模板) [編輯]
(C++17)
一種型別安全的帶判別聯合體
(類模板) [編輯]

[編輯] 另請參閱

表示範圍的元素已排序且唯一
(標籤)[編輯]
表示範圍的元素已排序(不要求唯一性)
(標籤)[編輯]