Кортеж С++

Kortez S



Работа с любым языком программирования требует использования кортежей, списков, массивов и т. д. Массивы, списки и кортежи предлагают одни и те же услуги с небольшими отличиями. Кортеж — это объект, содержащий упорядоченный список элементов. Это похоже на массив и список, однако они оба изменяемы, но кортеж неизменяем. Неизменяемый объект не может претерпевать никаких изменений во время выполнения. Список и массив можно легко изменять, нарезать или индексировать, поскольку они изменяемы. Но кортеж нельзя модифицировать, нарезать или изменить, поскольку он является неизменяемым объектом. Более того, список и массив могут хранить данные только одного типа, а кортеж может содержать данные нескольких типов. В этом руководстве мы обсудим основную функцию кортежа и то, как его можно использовать в программе на C++.

Что такое кортеж в языке программирования C++?

Кортеж в языке программирования C++ — это объект, содержащий упорядоченный список элементов. Это неизменный тип данных, что означает, что значения в кортеже не могут быть изменены в любой момент выполнения. Значение для кортежа дается в круглых () скобках, разделенных запятой, и может быть доступно по ссылке индекса. Существует множество функций, которые можно выполнять с кортежем, например, get(), swap(), tuple_size() и т. д. В следующих разделах мы объясним работу четырех функций с помощью примеров.

Пример 1:
В этом примере мы создадим кортеж с помощью функции make_tuple(). make_tuple() используется в программе на С++ для присвоения значения кортежу. Значения, которые необходимо присвоить кортежу, должны быть в том же порядке, в котором они были объявлены в кортеже. Давайте посмотрим на прикрепленный ниже код, чтобы понять, как функция make_tuple() работает в программе на C++.







Библиотеки «include » и «using namespace std» включены в программу для использования стандартных функций ввода и вывода, таких как cin и cout. «include » позволит использовать кортеж в программе. Полный код находится в функции main(). Кортеж t объявлен с пятью элементами: . Значения для кортежа должны следовать в том же порядке. Как вы можете заметить, («a», 75, 5, «z», 5.5) в функции make_tuple() находятся в том же порядке, что и значения, объявленные для кортежа. После выполнения этого кода вы ничего не получите взамен, что свидетельствует об успешном выполнении.



#include
#include<кортеж>
с использованием пространство имен станд. ;
инт главный ( )
{
кортеж < уголь , инт , инт , уголь , плавать > т ;
т знак равно make_tuple ( а , 75 , 5 , 'С' , 5,5 ) ;
возвращаться 0 ;
}



Проверьте результирующий вывод, показанный на скриншоте ниже:





Обратите внимание, что программа ничего не возвращает. Выведем значения кортежа.



Пример 2:
В этом примере функция get() используется для кортежа для отображения его значений. Значения кортежей можно вывести только с помощью функции get() языка программирования C++. См. код ниже.

Обратите внимание, что мы использовали тот же код и примеры данных, что и в предыдущем примере. С помощью функции make_tuple() значения успешно присваиваются кортежу. Функция get() используется для доступа к значениям кортежа путем обращения к номеру индекса, начиная с 0. Каждый номер индекса присваивается функции get(), и все значения кортежа выводятся с помощью инструкции cout.

#include
#include<кортеж>
с использованием пространство имен станд. ;
инт главный ( )
{
кортеж < уголь , инт , инт , уголь , плавать > т ;
т знак равно make_tuple ( а , 75 , 5 , 'С' , 5,5 ) ;
инт я ;
cout << «Значения кортежа:» ;
cout << получить < 0 > ( т ) << ' ' << получить < 1 > ( т ) << ' ' << получить < два > ( т )
<< ' ' << получить < 3 > ( т ) << ' ' << получить < 4 > ( т ) << конец ;
возвращаться 0 ;
}

Посмотрите вывод этого кода на скриншоте ниже:

Функция get() выводит значения в том же порядке, в котором они были присвоены кортежу.

Пример 3:
В этом примере мы продемонстрируем работу функции tuple_size(). На примере примера мы объясним, как получить размер кортежа с помощью функции tuple_size. Проверьте код, приведенный ниже.

Остальные строки кода такие же, как и в предыдущих примерах. Здесь функция tuple_size получит размер кортежа. «decltype» обозначает объявленный тип, используемый для проверки типа данного выражения.

#include
#include<кортеж>
с использованием пространство имен станд. ;
инт главный ( )
{
кортеж < уголь , инт , инт , уголь , плавать > т ;
т знак равно make_tuple ( а , 75 , 5 , 'С' , 5,5 ) ;
инт я ;
cout << 'Размер кортежа =' ;
cout << tuple_size < decltype ( т ) > :: ценность << конец ;
возвращаться 0 ;
}

При выполнении этого кода будет сгенерирован следующий вывод:

Мы присвоили кортежу 5 значений, и функция tuple_size() также вернула размер кортежа 5.

Пример 4:
Мы можем объединить кортежи с помощью функции tuple_cat() и создать из них новый кортеж. Здесь мы продемонстрируем использование функции tuple_cat() для объединения двух кортежей.

В приведенном ниже коде мы объявили два кортежа t1 и t2 и присвоили каждому кортежу 3/3 значений. Затем мы использовали функцию tuple_cat(), чтобы объединить оба кортежа и создать из них новый кортеж. После этого мы просто вывели значения всех кортежей с помощью функции get(). Функция tuple_cat() берет кортежи, которые необходимо объединить, объединяет значения, присвоенные каждому кортежу, и создает из него новый кортеж.

Обратите внимание, что кортежи t1 и t2 имеют 3/3 значения, и мы напечатали каждое значение с помощью функции get(), ссылаясь на индекс 0 на индекс 2. Однако, когда они объединены, общее количество значений будет 6. Итак, нам нужно чтобы напечатать индекс от 0 до 5, чтобы все значения были напечатаны. Посмотрите вывод ниже и обратите внимание, что в кортеже t1 печатаются 3 значения; 3 значения печатаются в кортеже 2. Однако 6 значений печатаются в кортеже 3, поскольку конкатенированные значения в новом кортеже равны 6.

#include
#include<кортеж>
с использованием пространство имен станд. ;
инт главный ( )
{
кортеж < уголь , инт , плавать > т1 ( а , 75 , 6.7 ) ;
кортеж < инт , уголь , плавать > т2 ( 10 , 'т' , 77,9 ) ;
авто т3 знак равно tuple_cat ( t1, t2 ) ;
cout << 'Первый кортеж содержит = ' ;
cout << получить < 0 > ( т1 ) << ' ' << получить < 1 > ( т1 ) << ' ' << получить < два > ( т1 ) << конец << конец ;
cout << 'Второй кортеж содержит = ' ;
cout << получить < 0 > ( т2 ) << ' ' << получить < 1 > ( т2 ) << ' ' << получить < два > ( т2 ) << конец << конец ;
cout << 'Новый кортеж =' ;
cout << получить < 0 > ( т3 ) << ' ' << получить < 1 > ( т3 ) << ' ' << получить < два > ( т3 ) << ' '
<< получить < 3 > ( т3 ) << ' ' << получить < 4 > ( т3 ) << ' ' << получить < 5 > ( т3 ) << конец ;
возвращаться 0 ;
}

Вот результат:

Вывод

Эта статья представляет собой обзор кортежей в языке программирования C++. Кортеж в С++ — это неизменяемый объект, который одновременно содержит значения разных типов данных. Кортежи не могут быть изменены или модифицированы в любой момент выполнения, поскольку они неизменяемы. Над кортежами можно выполнять несколько функций для достижения определенного результата, 4 из них продемонстрированы в этой статье на примерах.