在线文档教程
C++
应用 | Utilities

std::piecewise_construct

STD:分段[医]构造

constexpr piecewise_construct_t piecewise_construct = std::piecewise_construct_t((since C++11) (until C++17)
inline constexpr piecewise_construct_t piecewise_construct = std::piecewise_construct_t((since C++17)

常数std::piecewise_construct是空struct标记类型的实例。std::piecewise_construct_t...

二次

#include <iostream> #include <utility> #include <tuple> struct Foo { Foo(std::tuple<int, float>) { std::cout << "Constructed a Foo from a tuple\n"; } Foo(int, float) { std::cout << "Constructed a Foo from an int and a float\n"; } }; int main() { std::tuple<int, float> t(1, 3.14 std::pair<Foo, Foo> p1(t, t std::pair<Foo, Foo> p2(std::piecewise_construct, t, t }

二次

产出:

二次

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

二次

另见

piecewise_construct_t (C++11)tag type used to select correct function overload for piecewise construction (class)
(constructor)constructs new pair (public member function of std::pair)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/实用程序/分段[医]构造