Una tupla è un oggetto che può contenere un numero di elementi. Gli elementi possono essere di diversi tipi di dati. Gli elementi delle tuple vengono inizializzati come argomenti nell'ordine in cui verranno accessibili. Le tuple sono una struttura dati versatile per raggruppare valori. Per capire come utilizzare le tuple in C++ e nelle loro applicazioni, è necessario utilizzare Corso C++ fornisce tutorial ed esempi completi.
Operazioni sulla tupla
1. ottieni(): get() viene utilizzato per accedere ai valori della tupla e modificarli; accetta l'indice e il nome della tupla come argomenti per accedere a un particolare elemento della tupla.
2. make_tuple(): make_tuple() viene utilizzato per assegnare valori alla tupla. I valori passati dovrebbero essere in ordine con i valori dichiarati nella tupla.
CPP#include #include 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<0>(geek) << ' ' << get<1>(geek); cout << ' ' << get<2>(geek) << endl; // Use of get() to change values of tuple get<0>(geek) = 'b'; get<2>(geek) = 20.5; // Printing modified tuple values cout << 'The modified values of tuple are: '; cout << get<0>(geek) << ' ' << get<1>(geek); cout << ' ' << get<2>(geek) << endl; return 0; }
Produzione
The initial values of tuple are: a 10 15.5 The modified values of tuple are: b 10 20.5
Spiegazione : Nel codice precedente get() modifica il primo e il terzo valore della tupla.
3. dimensione_tupla: Restituisce il numero di elementi presenti nella tupla.
menu delle impostazioni del telefono AndroidCPP
#include #include 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)>::value; return 0; }
Produzione
The size of tuple is: 3
4. scambia(): La swap() scambia gli elementi delle due diverse tuple.
CPP#include #include using namespace std; int main() { // Initializing 1st tuple tuple<int char float> tup1(20 'g' 17.5); // Initializing 2nd tuple tuple<int char float> tup2(10 'f' 15.5); // Printing 1st and 2nd tuple before swapping cout << 'The first tuple elements before swapping are: '; cout << get<0>(tup1) << ' ' << get<1>(tup1) << ' ' << get<2>(tup1) << endl; cout << 'The second tuple elements before swapping are: '; cout << get<0>(tup2) << ' ' << get<1>(tup2) << ' ' << get<2>(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<0>(tup1) << ' ' << get<1>(tup1) << ' ' << get<2>(tup1) << endl; cout << 'The second tuple elements after swapping are: '; cout << get<0>(tup2) << ' ' << get<1>(tup2) << ' ' << get<2>(tup2) << endl; return 0; }
Produzione
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. cravatta() : Il lavoro di tie() è scompattare i valori della tupla in variabili separate. Esistono due varianti di tie() con e senza 'ignore'. 'ignore' ignora un particolare elemento tupla e ne impedisce la decompressione.
CPP
#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; }
Produzione
The unpacked tuple values (without ignore) are: 20 g 17.5 The unpacked tuple values (with ignore) are: 20 17.5
6. tuple_cat(): Questa funzione concatena due tuple e restituisce una nuova tupla.
CPP#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> tup2(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<0>(tup3) << ' ' << get<1>(tup3) << ' ' << get<2>(tup3) << ' ' << get<3>(tup3) << ' ' << get<4>(tup3) << ' ' << get<5>(tup3) << endl; return 0; }
Produzione
The new tuple elements in order are: 20 g 17.5 30 f 10.5