¿Qué es una tupla?
Una tupla es un objeto que puede contener varios elementos. Los elementos pueden ser de diferentes tipos de datos. Los elementos de las tuplas se inicializan como argumentos en el orden en que se accederá a ellos.
Operaciones en tupla : –
1. get() :- get() se usa para acceder a los valores de la tupla y modificarlos, acepta el índice y el nombre de la tupla como argumentos para acceder a un elemento de la tupla en particular.
2. make_tuple() :- make_tuple() se usa para asignar tupla con valores. Los valores pasados deben estar en orden con los valores declarados en tupla.
// C++ code to demonstrate tuple, get() and make_pair() #include<iostream> #include<tuple> // 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<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; }
Producción:
The initial values of tuple are : a 10 15.5 The modified values of tuple are : b 10 20.5
En el código anterior, get() modifica el primer y tercer valor de la tupla.
3. tuple_size :- Devuelve el número de elementos presentes en la tupla.
//C++ code to demonstrate tuple_size #include<iostream> #include<tuple> // 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)>::value << endl; return 0; }
Producción:
The size of tuple is : 3
4. swap() :- El swap(), intercambia los elementos de las dos tuplas diferentes.
//C++ code to demonstrate swap() #include<iostream> #include<tuple> // 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> 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; }
Producción:
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. tie() :- El trabajo de tie() es descomprimir los valores de tupla en variables separadas. Hay dos variantes de tie(), con y sin «ignorar», el «ignorar» ignora un elemento de tupla en particular y evita que se descomprima.
// C++ code to demonstrate working of tie() #include<iostream> #include<tuple> // 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; }
Producción:
The unpacked tuple values (without ignore) are : 20 g 17.5 The unpacked tuple values (with ignore) are : 20 17.5
6. tuple_cat() :- Esta función concatena dos tuplas y devuelve una nueva tupla.
// C++ code to demonstrate working of tuple_cat() #include<iostream> #include<tuple> // 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) << " "; cout << get<2>(tup3) << " " << get<3>(tup3) << " "; cout << get<4>(tup3) << " " << get<5>(tup3) << endl; return 0; }
Producción:
The new tuple elements in order are : 20 g 17.5 30 f 10.5
Este artículo es una contribución de Manjeet Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA