logo

Tuples en C++

Qu'est-ce qu'un tuple ?
Un tuple est un objet pouvant contenir un certain nombre d’éléments. Les éléments peuvent être de différents types de données. Les éléments des tuples sont initialisés comme arguments dans l'ordre dans lequel ils seront accédés.

Opérations sur tuple :-
1. obtenir() :- get() est utilisé pour accéder aux valeurs du tuple et les modifier, il accepte l'index et le nom du tuple comme arguments pour accéder à un élément de tuple particulier.

2. make_tuple() :- make_tuple() est utilisé pour attribuer un tuple avec des valeurs. Les valeurs transmises doivent être en ordre avec les valeurs déclarées dans le tuple.



RPC




// C++ code to demonstrate tuple, get() and make_pair()> #include> #include // for tuple> using> namespace> std;> int> main()> {> >// Declaring tuple> >tuple <>char>,>int>,>float>>geek ;> >// Assigning values to tuple using make_tuple()> >geek = make_tuple(>'a'>, 10, 15.5);> >// Printing initial tuple values using get()> >cout << 'The initial values of tuple are : ';> >cout << get(geek) << ' ' << get(geek);> >cout << ' ' << get(geek) << endl;> >// Use of get() to change values of tuple> >get(geek) =>'b'>;> >get(geek) = 20.5;> >// Printing modified tuple values> >cout << 'The modified values of tuple are : ';> >cout << get(geek) << ' ' << get(geek);> >cout << ' ' << get(geek) << endl;> >return> 0;> }>

attraper et essayer Java
>

>

chaîne Java dans un tableau

Sortir:

The initial values of tuple are : a 10 15.5 The modified values of tuple are : b 10 20.5>

Dans le code ci-dessus, get() modifie la 1ère et la 3ème valeur du tuple.
3. tuple_size :- Il renvoie le nombre d'éléments présents dans le tuple.

RPC




//C++ code to demonstrate tuple_size> #include> #include // for tuple_size and tuple> using> namespace> std;> int> main()> {> >// Initializing tuple> >tuple <>char>,>int>,>float>>geek(20,>'g'>,17.5);> >// Use of size to find tuple_size of tuple> >cout << 'The size of tuple is : ';> >cout << tuple_size<>decltype>(geek)>::valeur<< endl;> >return> 0;> }>

>

>

Sortir:

tableau de chaînes en c
The size of tuple is : 3>

4. échanger() :- Le swap(), échange les éléments des deux tuples différents.

RPC




//C++ code to demonstrate swap()> #include> #include // for swap() and tuple> using> namespace> std;> int> main()> {> >// Initializing 1st tuple> >tuple <>int>,>char>,>float>>tup1(20,>'g'>,17.5);> > >// Initializing 2nd tuple> >tuple <>int>,>char>,>float>>émoussé2(10,>'f'>,15.5);> > >// Printing 1st and 2nd tuple before swapping> >cout << 'The first tuple elements before swapping are : ';> >cout << get(tup1) << ' ' << get(tup1) << ' '> ><< get(tup1) << endl;> >cout << 'The second tuple elements before swapping are : ';> >cout << get(tup2) << ' ' << get(tup2) << ' '> ><< get(tup2) << endl;> > >// Swapping tup1 values with tup2> >tup1.swap(tup2);> > >// Printing 1st and 2nd tuple after swapping> >cout << 'The first tuple elements after swapping are : ';> >cout << get(tup1) << ' ' << get(tup1) << ' '> ><< get(tup1) << endl;> >cout << 'The second tuple elements after swapping are : ';> >cout << get(tup2) << ' ' << get(tup2) << ' '> ><< get(tup2) << endl;> >return> 0;> }>

>

>

Sortir:

The first tuple elements before swapping are : 20 g 17.5 The second tuple elements before swapping are : 10 f 15.5 The first tuple elements after swapping are : 10 f 15.5 The second tuple elements after swapping are : 20 g 17.5>

5. égalité() :- Le travail de tie() consiste à décompresser les valeurs du tuple en variables distinctes. Il existe deux variantes de tie(), avec et sans ignore , ignore un élément de tuple particulier et l'empêche d'être décompressé.

RPC




propriétés acides
// C++ code to demonstrate working of tie()> #include> #include // for tie() and tuple> using> namespace> std;> int> main()> {> >// Initializing variables for unpacking> >int> i_val;> >char> ch_val;> >float> f_val;> > >// Initializing tuple> >tuple <>int>,>char>,>float>>tup1(20,>'g'>,17.5);> >// Use of tie() without ignore> >tie(i_val,ch_val,f_val) = tup1;> > >// Displaying unpacked tuple elements> >// without ignore> >cout << 'The unpacked tuple values (without ignore) are : ';> >cout << i_val << ' ' << ch_val << ' ' << f_val;> >cout << endl;> > >// Use of tie() with ignore> >// ignores char value> >tie(i_val,ignore,f_val) = tup1;> > >// Displaying unpacked tuple elements> >// with ignore> >cout << 'The unpacked tuple values (with ignore) are : ';> >cout << i_val << ' ' << f_val;> >cout << endl;> >return> 0;> }>

>

>

Sortir:

The unpacked tuple values (without ignore) are : 20 g 17.5 The unpacked tuple values (with ignore) are : 20 17.5>

6. tuple_cat() :- Cette fonction concatène deux tuples et renvoie un nouveau tuple.

RPC




// C++ code to demonstrate working of tuple_cat()> #include> #include // for tuple_cat() and tuple> using> namespace> std;> int> main()> {> >// Initializing 1st tuple> >tuple <>int>,>char>,>float>>tup1(20,>'g'>,17.5);> >// Initializing 2nd tuple> >tuple <>int>,>char>,>float>>émoussé2(30,>'f'>,10.5);> > >// Concatenating 2 tuples to return a new tuple> >auto> tup3 = tuple_cat(tup1,tup2);> > >// Displaying new tuple elements> >cout << 'The>new> tuple elements in order are : ';> >cout << get(tup3) << ' ' << get(tup3) << ' ';> >cout << get(tup3) << ' ' << get(tup3) << ' ';> >cout << get(tup3) << ' ' << get(tup3) << endl;> >return> 0;> }>

chemin défini en Java

>

>

Sortir:

The new tuple elements in order are : 20 g 17.5 30 f 10.5>