Ein Tupel ist ein Objekt, das mehrere Elemente enthalten kann. Die Elemente können von unterschiedlichem Datentyp sein. Die Elemente von Tupeln werden als Argumente in der Reihenfolge initialisiert, in der auf sie zugegriffen wird. Tupel sind eine vielseitige Datenstruktur zum Gruppieren von Werten. Um zu verstehen, wie man Tupel in C++ und ihre Anwendungen verwendet, C++-Kurs bietet umfassende Tutorials und Beispiele.
Selen-Tutorial Java
Operationen auf Tuple
1. get(): get() wird verwendet, um auf die Tupelwerte zuzugreifen und sie zu ändern. Es akzeptiert den Index und den Tupelnamen als Argumente für den Zugriff auf ein bestimmtes Tupelelement.
2. make_tuple(): make_tuple() wird verwendet, um Tupeln Werte zuzuweisen. Die übergebenen Werte sollten mit den im Tupel deklarierten Werten übereinstimmen.
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; }
Ausgabe
The initial values of tuple are: a 10 15.5 The modified values of tuple are: b 10 20.5
Erläuterung : Im obigen Code ändert get() den 1. und 3. Wert des Tupels.
3. tuple_size: Es gibt die Anzahl der im Tupel vorhandenen Elemente zurück.
CPP
#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; }
Ausgabe
The size of tuple is: 3
4. swap(): Die Funktion swap() tauscht die Elemente der beiden verschiedenen Tupel aus.
np.sumCPP
#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; }
Ausgabe
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() : Die Arbeit von tie() besteht darin, die Tupelwerte in separate Variablen zu entpacken. Es gibt zwei Varianten von tie() mit und ohne „ignore“. „ignore“ ignoriert ein bestimmtes Tupelelement und verhindert, dass es entpackt wird.
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; }
Ausgabe
The unpacked tuple values (without ignore) are: 20 g 17.5 The unpacked tuple values (with ignore) are: 20 17.5
6. tuple_cat(): Diese Funktion verkettet zwei Tupel und gibt ein neues Tupel zurück.
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; }
Ausgabe
The new tuple elements in order are: 20 g 17.5 30 f 10.5