std::piecewise_construct_t_C++中文网

定义于头文件 <utility>

struct piecewise_construct_t { };

(C++11 起)
(C++17 前)

struct piecewise_construct_t { explicit piecewise_construct_t() = default; };

(C++17 起)

std::piecewise_construct_t 是用于在接收二个 tuple 参数的不同函数间消歧义的空结构体标签类型。

不使用 std::piecewise_construct_t 的重载假设每个 tuple 参数各变成一个 pair 的元素。使用 std::piecewise_construct_t 的重载假设每个 tuple 参数用于逐块构造一个指定类型的新对象,而它将成为 pair 的元素。

示例

输出:

Constructed a Foo from a tuple
Constructed a Foo from a tuple
Constructed a Foo from an int and a float
Constructed a Foo from an int and a float

参阅