piecewise_construct
描述 (Description)
它是一个分段构造常量,这个常量值作为第一个参数传递,构造一个对象以选择构造函数表单,该表单通过将两个元组对象的元素转发到它们各自的构造函数来构造其成员。
声明 (Declaration)
以下是std :: piecewise_construct函数的声明。
constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();
C++11
constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();
参数 (Parameters)
没有
返回值 (Return Value)
没有
异常 (Exceptions)
没有
数据竞争 (Data races)
没有
例子 (Example)
在下面的例子中解释了std :: piecewise_construct函数。
#include <utility>
#include <iostream>
#include <tuple>
#include <vector>
#include <string>
int main () {
std::pair < std::string, std::vector<int> >
foo (
std::piecewise_construct,
std::forward_as_tuple("sample"),
std::forward_as_tuple(2,100)
);
std::cout << "foo.first: " << foo.first << '\n';
std::cout << "foo.second:";
for (int& x: foo.second) std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 -
foo.first: sample
foo.second: 100 100