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
在标头 <utility> 定义
|
||
struct in_place_t { explicit in_place_t() = default; |
(C++17 起) | |
template <class T> struct in_place_type_t { explicit in_place_type_t() = default; |
(C++17 起) | |
template <std::size_t I> struct in_place_index_t { explicit in_place_index_t() = default; |
(C++17 起) | |
std::in_place
、 std::in_place_type
和 std::in_place_index
是消歧义标签,能传递给 std::optional 、 std::variant 和 std::any 的构造函数,以指示应该原位构造对象,以及(对于后二者)要构造的对象的类型。
对应的类型/类型模板 std::in_place_t
、 std::in_place_type_t
和 std::in_place_index_t
能用于构造函数的参数列表中,以匹配有意的标签。
参阅
(C++17) |
可能或可能不保有一个对象的包装器 (类模板) |
(C++17) |
类型安全的可辨识联合体 (类模板) |
(C++17) |
可保有任何可复制构造 (CopyConstructible) 类型的实例的对象。 (类) |