命名空间
变体
操作

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++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三路比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
通用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
基本字符串转换
(C++17)
(C++17)

 
定义在头文件 <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)
类型安全的区分联合
(类模板) [编辑]

[编辑] 另请参见

指示范围的元素已排序且唯一
(标记)[编辑]
指示范围的元素已排序(不强制唯一)
(标记)[编辑]