std::piecewise_construct_t
Da cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Definido no cabeçalho <utility>
|
||
struct piecewise_construct_t { }; |
(desde C++11) | |
std::piecewise_construct_t is an empty struct tag type used to disambiguate between different functions that take two tuple arguments.
The overloads that do not use std::piecewise_construct_t assume that each tuple argument becomes the element of a pair. The overloads that use std::piecewise_construct_t assume that each tuple argument is used to construct, piecewise, a new object of specified type, which will become the element of the pair.
[editar] Exemplo
#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); }
Saída:
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
[editar] Veja também
(C++11) |
um objeto de piecewise_construct_t tipo usado para remover a ambigüidade funções para construção por partes Original: an object of type piecewise_construct_t used to disambiguate functions for piecewise construction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (constante) |