Espaços nominais
Variantes
Acções

Diferenças entre edições de "cpp/utility/tuple/tuple"

Da cppreference.com
< cpp‎ | utility‎ | tuple
(Translated from the English version using Google Translate)
 
m (uma edição: Translate from the English version)

Revisão das 17h22min de 29 de outubro de 2012

 
 
Biblioteca de utilitários
Digite apoio (basic types, RTTI, type traits)
Gerenciamento de memória dinâmica
De tratamento de erros
Utilidades do programa
Variadic funções
Data e hora
Objetos de função
(C++11)
Os operadores relacionais
Original:
Relational operators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Pares e tuplas
Original:
Pairs and tuples
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
Troque, avançar e avançar
Original:
Swap, forward and move
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
 
std::tuple
Funções de membro
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
tuple::tuple
tuple::operator=
tuple::swap
Não-membros funções
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Classes auxiliares
Original:
Helper classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
Defined in header <tuple>
constexpr tuple();
(1) (desde C++11)
explicit tuple( const Types&... args );
(2) (desde C++11)
template< class... UTypes >
explicit tuple( UTypes&&... args );
(3) (desde C++11)
template< class... UTypes >
tuple( const tuple<UTypes...>& other );
(4) (desde C++11)
template <class... UTypes>
tuple( tuple<UTypes...>&& other );
(5) (desde C++11)
template< class U1, class U2 >
tuple( const pair<U1,U2>& p );
(6) (desde C++11)
template< class U1, class U2 >
tuple( pair<U1,U2>&& p );
(7) (desde C++11)
tuple( const tuple& other ) = default;
(8) (desde C++11)
tuple( tuple&& other ) = default;
(9) (desde C++11)
template< class Alloc >
tuple( std::allocator_arg_t, const Alloc& a );
(10) (desde C++11)
template< class Alloc >
tuple( std::allocator_arg_t, const Alloc& a, const Types&... args );
(11) (desde C++11)
template< class Alloc, class... UTypes >
tuple( std::allocator_arg_t, const Alloc& a, UTypes&&... args );
(12) (desde C++11)
template <class Alloc, class... UTypes>
tuple( std::allocator_arg_t, const Alloc& a, const tuple<UTypes...>& other );
(13) (desde C++11)
template< class Alloc, class... UTypes >
tuple( std::allocator_arg_t, const Alloc& a, tuple<UTypes...>&& other );
(14) (desde C++11)
template< class Alloc, class U1, class U2 >
tuple( std::allocator_arg_t, const Alloc& a, const pair<U1, U2>& p );
(15) (desde C++11)
template< class Alloc, class U1, class U2 >
tuple( std::allocator_arg_t, const Alloc& a, pair<U1, U2>&& p );
(16) (desde C++11)
template< class Alloc >
tuple( std::allocator_arg_t, const Alloc& a, const tuple& other );
(17) (desde C++11)
template< class Alloc >
tuple( std::allocator_arg_t, const Alloc& a, tuple&& other );
(18) (desde C++11)
Constrói uma nova tupla.
Original:
Constructs a new tuple.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
1)
Construtor padrão. Valor inicializa todos os elementos.
Original:
Default constructor. Value-initializes all elements.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
Inicializa cada elemento da tupla com o parâmetro correspondente.
Original:
Initializes each element of the tuple with the corresponding parameter.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3)
Inicializa cada elemento da tupla com o valor correspondente em std::forward<Utypes>(args).
Original:
Initializes each element of the tuple with the corresponding value in std::forward<Utypes>(args).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
4)
Para todos i em sizeof...(UTypes), inicializa elemento i da tupla com std::get<i>(other).
Original:
For all i in sizeof...(UTypes), initializes ith element of the tuple with std::get<i>(other).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
5)
Para todos i em sizeof...(UTypes), inicializa elemento i da tupla com std::forward<Ui>(std::get<i>(other)).
Original:
For all i in sizeof...(UTypes), initializes ith element of the tuple with std::forward<Ui>(std::get<i>(other)).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
6)
Constrói um tuplo 2-elemento com o primeiro elemento construído a partir de p.first e o segundo elemento de p.second
Original:
Constructs a 2-element tuple with the first element constructed from p.first and the second element from p.second
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
7)
Constrói um tuplo 2-elemento com o primeiro elemento construído a partir de std::forward<U1>(p.first) e o segundo elemento de std::forward<U2>(p.second)
Original:
Constructs a 2-element tuple with the first element constructed from std::forward<U1>(p.first) and the second element from std::forward<U2>(p.second)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
8)
Compilador gerado construtor de cópia. Inicializa cada elemento do tuplo com o elemento correspondente de other
Original:
Compiler-generated copy constructor. Initializes each element of the tuple with the corresponding element of other
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
9)
Compilador gerado construtor movimento. Inicializa cada elemento i da tupla com std::forward<Ui>(std::get<i>(other)).
Original:
Compiler-generated move constructor. Initializes each ith element of the tuple with std::forward<Ui>(std::get<i>(other)).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
10-18) Idêntico ao 1-9, exceto cada elemento é criado por' construção usos alocador, isto é, o objeto a Allocator é passado como um argumento adicional para o construtor de cada elemento para o qual é std::uses_allocator<Ui, Alloc>::value true.
Original:
10 - 18) Identical to 1-9 except each element is created by uses-allocator construction, that is, the Allocator object a is passed as an additional argument to the constructor of each element for which std::uses_allocator<Ui, Alloc>::value is true.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Parâmetros

args -
Os valores usados ​​para inicializar cada elemento da tupla
Original:
values used to initialize each element of the tuple
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
other -
uma tupla de valores usados ​​para inicializar cada elemento do tupe
Original:
a tuple of values used to initialize each element of the tupe
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
p -
par de valores usados ​​para inicializar ambos os elementos desta 2-tupla
Original:
pair of values used to initialize both elements of this 2-tuple
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
a -
alocador para usar em usos alocador-construção
Original:
allocator to use in uses-allocator construction
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Exemplo

#include <iostream>
#include <string>
#include <vector>
#include <tuple>
#include <memory>
 
// helper function to print a tuple of any size
template<class Tuple, std::size_t N>
struct TuplePrinter {
    static void print(const Tuple& t) 
    {
        TuplePrinter<Tuple, N-1>::print(t);
        std::cout << ", " << std::get<N-1>(t);
    }
};
 
template<class Tuple>
struct TuplePrinter<Tuple, 1>{
    static void print(const Tuple& t) 
    {
        std::cout << std::get<0>(t);
    }
};
 
template<class... Args>
void print(const std::tuple<Args...>& t) 
{
    std::cout << "(";
    TuplePrinter<decltype(t), sizeof...(Args)>::print(t);
    std::cout << ")\n";
}
// end helper function
 
int main()
{
    std::tuple<int, std::string, double> t1;
    std::cout << "Value-initialized: "; print(t1);
    std::tuple<int, std::string, double> t2(42, "Test", -3.14);
    std::cout << "Initialized with values: "; print(t2);
    std::tuple<char, std::string, int> t3(t2);
    std::cout << "Implicitly converted: "; print(t3);
    std::tuple<int, double> t4(std::make_pair(42, 3.14));
    std::cout << "Constructed from a pair"; print(t4);
 
    // given Allocator my_alloc with a single-argument constructor my_alloc(int)
    // use my_alloc(1) to allocate 10 ints in a vector
    std::vector<int, my_alloc> v(10, 1, my_alloc(1));
    // use my_alloc(2) to allocate 10 ints in a vector in a tuple
    std::tuple<int, std::vector<int, my_alloc>, double> t5(std::allocator_arg,
                                                           my_alloc(2), 42, v,  -3.14);
}

Saída:

Value-initialized: (0, , 0)
Initialized with values: (42, Test, -3.14)
Implicitly converted: (*, Test, -3)
Constructed from a pair(42, 3.14)

Veja também

Predefinição:cpp/utility/tuple/dcl list make tuplePredefinição:cpp/utility/tuple/dcl list tiePredefinição:cpp/utility/tuple/dcl list forward as tuple