Катель - це об'єкт, який може вмістити ряд елементів. Елементи можуть бути різними типами даних. Елементи кортежів ініціалізуються як аргументи в порядку, в якому вони будуть доступні. Кортежі - це універсальна структура даних для групування значень. Щоб зрозуміти, як використовувати кортежі в C ++ та їх додатках Курс C ++ Надає комплексні підручники та приклади.
Операції на кортежах
1. Get (): get () використовується для доступу до значень кортежу та модифікації їх, він приймає індекс і ім’я кортежу як аргументи для доступу до певного елемента кортежу.
ітератор java map
2. Make_tuple (): make_tuple () використовується для призначення кортежу з значеннями. Проведені значення повинні бути в порядку зі значеннями, оголошеними в кортежі.
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; }
Випуск
The initial values of tuple are: a 10 15.5 The modified values of tuple are: b 10 20.5
Пояснення : У наведеному вище коді () змінює 1 -е та 3 -е значення кортежу.
3. tuple_size: Він повертає кількість елементів, присутніх у кортежі.
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; }
Випуск
The size of tuple is: 3
4. Swap (): Swap () замінює елементи двох різних кортежів.
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; }
Випуск
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 () : Робота TIE () полягає в розпаку значень кортежу в окремі змінні. Існує два варіанти Tie () з і без "ігнорувати" "ігнорувати" ігнорує певний елемент кортежів і заважає йому розпалювати.
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; }
Випуск
The unpacked tuple values (without ignore) are: 20 g 17.5 The unpacked tuple values (with ignore) are: 20 17.5
6. tuple_cat (): Ця функція об'єднує два кортежі і повертає новий кортеж.
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; }
Випуск
The new tuple elements in order are: 20 g 17.5 30 f 10.5