std::tuple::tuple
De 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. |
<metanoindex/>
<tbody> </tbody>| Déclaré dans l'en-tête <tuple>
|
||
constexpr tuple(); |
(1) | (depuis C++11) |
explicit tuple( const Types&... args ); |
(2) | (depuis C++11) |
template< class... UTypes > explicit tuple( UTypes&&... args ); |
(3) | (depuis C++11) |
template< class... UTypes > tuple( const tuple<UTypes...>& other ); |
(4) | (depuis C++11) |
template <class... UTypes> tuple( tuple<UTypes...>&& other ); |
(5) | (depuis C++11) |
template< class U1, class U2 > tuple( const pair<U1,U2>& p ); |
(6) | (depuis C++11) |
template< class U1, class U2 > tuple( pair<U1,U2>&& p ); |
(7) | (depuis C++11) |
tuple( const tuple& other ) = default; |
(8) | (depuis C++11) |
tuple( tuple&& other ) = default; |
(9) | (depuis C++11) |
template< class Alloc > tuple( std::allocator_arg_t, const Alloc& a ); |
(10) | (depuis C++11) |
template< class Alloc > tuple( std::allocator_arg_t, const Alloc& a, const Types&... args ); |
(11) | (depuis C++11) |
template< class Alloc, class... UTypes > tuple( std::allocator_arg_t, const Alloc& a, UTypes&&... args ); |
(12) | (depuis C++11) |
template <class Alloc, class... UTypes> tuple( std::allocator_arg_t, const Alloc& a, const tuple<UTypes...>& other ); |
(13) | (depuis C++11) |
template< class Alloc, class... UTypes > tuple( std::allocator_arg_t, const Alloc& a, tuple<UTypes...>&& other ); |
(14) | (depuis C++11) |
template< class Alloc, class U1, class U2 > tuple( std::allocator_arg_t, const Alloc& a, const pair<U1, U2>& p ); |
(15) | (depuis C++11) |
template< class Alloc, class U1, class U2 > tuple( std::allocator_arg_t, const Alloc& a, pair<U1, U2>&& p ); |
(16) | (depuis C++11) |
template< class Alloc > tuple( std::allocator_arg_t, const Alloc& a, const tuple& other ); |
(17) | (depuis C++11) |
template< class Alloc > tuple( std::allocator_arg_t, const Alloc& a, tuple&& other ); |
(18) | (depuis C++11) |
Construit un nouveau tuple .
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.
You can help to correct and verify the translation. Click here for instructions.
1)
Constructeur par défaut. Valeur-initialise tous les éléments .
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.
You can help to correct and verify the translation. Click here for instructions.
2)
Initialise chaque élément de l'uplet avec le paramètre correspondant .
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.
You can help to correct and verify the translation. Click here for instructions.
3)
Initialise chaque élément du tuple avec la valeur correspondante dans
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.
You can help to correct and verify the translation. Click here for instructions.
4)
Pour tous
i dans sizeof...(UTypes), initialise ième élément du tuple avec 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.
You can help to correct and verify the translation. Click here for instructions.
5)
Pour tous
i dans sizeof...(UTypes), initialise ième élément du tuple avec 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.
You can help to correct and verify the translation. Click here for instructions.
6)
Construit un tuple 2-élément avec le premier élément de construction à partir de
p.first et le second élément de p.secondOriginal:
Constructs a 2-element tuple with the first element constructed from
p.first and the second element from p.secondThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
7)
Construit un tuple 2-élément avec le premier élément de construction à partir de
std::forward<U1>(p.first) et le second élément 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.
You can help to correct and verify the translation. Click here for instructions.
8)
Le compilateur a généré constructeur de copie. Initialise chaque élément de l'uplet avec l'élément correspondant de
otherOriginal:
Compiler-generated copy constructor. Initializes each element of the tuple with the corresponding element of
otherThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
9)
Le compilateur a généré constructeur déménagement. Initialise chaque i-ème élément du tuple avec
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.
You can help to correct and verify the translation. Click here for instructions.
10 à 18) Identique à 1-9 sauf que chaque élément est créé par' utilisation de la construction-allocateur, qui est, le
a objet allocateur est passé comme un argument supplémentaire pour le constructeur de chaque élément pour lequel std::uses_allocator<Ui, Alloc>::value est 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.
You can help to correct and verify the translation. Click here for instructions.
Paramètres
| args | - | valeurs utilisées pour initialiser chaque élément du tuple
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 | - | un n-uplet de valeurs utilisées pour initialiser chaque élément de la 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 | - | Combinaison de valeurs utilisées pour initialiser les éléments de ce 2-tuple
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 | - | allocateur à utiliser dans des utilisations-allocateur de construction
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. |
Exemple
#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);
}
Résultat :
Value-initialized: (0, , 0)
Initialized with values: (42, Test, -3.14)
Implicitly converted: (*, Test, -3)
Constructed from a pair(42, 3.14)
Voir aussi
crée un objet tuple du type défini par les types d'argumentsOriginal: creates a tuple object of the type defined by the argument typesThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction générique) | |
crée un tuple de références lvalue ou décompresse un tuple dans des objets individuelsOriginal: creates a tuple of lvalue references or unpacks a tuple into individual objectsThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction générique) | |
crée un tuple des références rvalueOriginal: creates a tuple of rvalue referencesThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction générique) | |