Espacios de nombres
Variantes
Acciones

std::piecewise_construct

De cppreference.com
< cpp‎ | utility
 
 
Biblioteca de servicios
 
std::pair
Funciones miembro
Funciones no miembro
(hasta C++20)(hasta C++20)(hasta C++20)(hasta C++20)(hasta C++20)(C++20)
(C++11)
Guías de deducción(C++17)
Clases auxiliares
(C++11)
 
Definido en el archivo de encabezado <utility>
constexpr std::piecewise_construct_t piecewise_construct{};
(desde C++11)
(hasta C++17)
inline constexpr std::piecewise_construct_t piecewise_construct{};
(desde C++17)

La constante std::piecewise_construct es una instancia de una estructura vacía de tipo etiqueta std::piecewise_construct_t.

[editar] Ejemplo

#include <iostream>
#include <utility>
#include <tuple>
 
struct Foo {
    Foo(std::tuple<int, float>) 
    {
        std::cout << "Foo construida a partir de una tupla\n";
    }
    Foo(int, float) 
    {
        std::cout << "Foo construida a partir de un int y un 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);
}

Salida:

Foo construida a partir de una tupla
Foo construida a partir de una tupla
Foo construida a partir de un int y un float
Foo construida a partir de un int y un float

[editar] Véase también

Tipo etiqueta utilizado para seleccionar una sobrecarga de función correcta para la construcción por segmentos/tramos.
(clase) [editar]
Construye un nuevo par.
(función miembro pública de std::pair)