Biblioteca de utilitários C ++ - função piecewise_construct

Descrição

É uma constante de construção por partes e esse valor constante é passado como o primeiro argumento para construir um objeto de par para selecionar a forma de construtor que constrói seus membros no local, encaminhando os elementos de dois objetos de tupla para seus respectivos construtores.

Declaração

A seguir está a declaração para a função std :: piecewise_construct.

constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();

C ++ 11

constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();

Parâmetros

Nenhum

Valor de retorno

Nenhum

Exceções

Nenhum

Corridas de dados

Nenhum

Exemplo

No exemplo a seguir, explica sobre a função 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

foo.first: sample
foo.second: 100 100