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
 
 
工具库
类型支持(基本类型、 RTTI 、类型特性)
动态内存管理
错误处理
程序工具
变参数函数
日期和时间
函数对象
(C++11)
关系运算符
optionalanyvariant (C++17)
in_placein_place_typein_place_indexin_place_tin_place_type_tin_place_index_t
pair 与 tuple
(C++11)
(C++17)
swap 、 forward 与 move
(C++14)
(C++11)
(C++11)
初等字符串转换
(C++17)
(C++17)
类型运算
(C++11)
(C++17)
 
定义于头文件 <utility>
struct in_place_t {

    explicit in_place_t() = default;
};

inline constexpr std::in_place_t in_place{};
(C++17 起)
template <class T> struct in_place_type_t {

    explicit in_place_type_t() = default;
};
template <class T>

inline constexpr std::in_place_type_t<T> in_place_type{};
(C++17 起)
template <size_t I> struct in_place_index_t {

    explicit in_place_index_t() = default;
};
template <size_t I>

inline constexpr in_place_index_t<I> in_place_index{};
(C++17 起)

std::in_placestd::in_place_typestd::in_place_index是可以传递给std::optionalstd::variantstd::any构造函数的消歧义标签,以指示被容纳对象应该原位构造,和(对于后两者)要被构造的对象类型。

对应的类型/类型模板std::in_place_tstd::in_place_type_tstd::in_place_index_t能用于构造函数的参数列表中,以匹配有意的标签。

[编辑] 参阅

(C++17 起)
可能或可能不保有一个对象的包裹器
(类模板) [编辑]
(C++17 起)
有类型安全辨别的联合体
(类模板) [编辑]
(C++17 起)
保有任何可复制构造 (CopyConstructible) 类型实例的对象。
(类) [编辑]