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
在标头
<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)
类型的实例的对象。 (类) |