Как вернуть несколько значений в C++

Kak Vernut Neskol Ko Znacenij V C



Язык C++ предоставляет нам множество возможностей и значительно упрощает программирование. Но иногда при программировании на C++ нам необходимо вернуть несколько значений. К сожалению, C++ не предоставляет нам этой возможности. Чтобы вернуть несколько значений в C++, мы должны использовать разные методы. Мы можем возвращать несколько значений в C++, используя кортежи/пары, указатели и массивы. В этом руководстве мы подробно изучим все эти приемы вместе с кодами и пояснениями.

Пример 1: Использование кортежей/пар

Давайте проведем практическую демонстрацию возврата нескольких значений в C++. Здесь мы используем методы кортежей/пар, чтобы помочь вернуть несколько значений в нашем коде. C++ предоставляет различные файлы заголовков, которые мы должны включить в наш код. Мы включили сюда «bits/stdc++.h», поскольку он содержит все библиотеки программирования на C++. Затем сюда добавляется пространство имен «std». После этого мы используем ключевое слово «tuple», в которое помещаем три типа данных, два типа данных с плавающей запятой и оставшийся один тип данных «char». Ниже мы используем ключевое слово return для упаковки значений и возврата кортежа.

Теперь мы используем метод «пара» для возврата нескольких значений. В этом «парном» методе мы помещаем два типа данных переменных, и оба здесь являются «плавающими». Переменные называются «float_1» и «float_2». Затем мы упаковываем два значения, чтобы вернуться к «парам». После этого мы вызываем здесь «main()», а затем объявляем две переменные «float» с именами «f_1, f_2». Переменная «char» также объявлена ​​здесь как «myChar». Затем мы распаковываем значения, возвращаемые функцией My_Tuple().







Ниже мы сохраняем возвращаемые значения парами. Мы сохраняем «4,99, 8,98» в функции «My_Tuple» и «6,86, 3,22» в функции «My_Pair». Затем мы используем «cout», который печатает всю записанную внутри него информацию.



Код 1:



#include
с использованием пространство имен стандартный ;
кортеж < плавать , плавать , голец > Мой_Tuple ( плавать ф_1, плавать ф_2 ) {
возвращаться make_tuple ( ф_2, ф_1, '$' ) ;
}
пара < плавать , плавать > Моя_пара ( плавать фу, плавать ебать ) {
возвращаться make_pair ( фу, фу, фу ) ;
}
интервал основной ( ) {
плавать ф_1,ф_2 ;
голец мойЧар ;
галстук ( f_1, f_2, myChar ) '=' Мой_Tuple ( 4,99 , 8,98 ) ;
пара new_p '=' Моя_пара ( 6,86 , 3.22 ) ;
расчет << 'Значения, которые мы получаем по кортежам:' ;
расчет << ф_1 << ' ' << ф_2 << ' ' << мойЧар << конец ;
расчет << 'Значения, которые мы получаем по парам: ' ;
расчет << новый_п. первый << ' ' << новый_п. второй ;
возвращаться 0 ;
}

Выход :





Значения, которые мы получаем здесь, используя методы «кортежи» и «пара», отображаются ниже. Обратите внимание, что здесь он возвращает несколько значений.



Пример 2: Использование указателей

Здесь мы передаем параметры вместе с их адресами в функцию сравнения. Добавляем «value_1» и «value_2» типа «int» и «int*g_Address, int*s_Address». После этого мы используем условие «if», в котором добавляем условие, что «value_1» больше, чем «value_2». Если это удовлетворено, выполняется следующий оператор. Если это не так, он игнорирует оператор, добавленный ниже, и переходит к части «else». Теперь, после вызова main(), мы объявляем четыре новые переменные с именами «g_value», «s_value», «newValue1» и «newValue2».

После этого мы печатаем сообщение для ввода чисел, а затем помещаем «cin», который получает два значения от пользователя. Значения, которые вводит пользователь, сохраняются в переменных «newValue1» и «newValue2» соответственно. После этого мы вызываем ранее созданную функцию «compare()» и передаем в нее четыре параметра. Затем мы отображаем результат после выполнения функции «сравнить», и он показывает большее и меньшее число из тех чисел, которые вводит пользователь.

Код 2:

#include
с использованием пространство имен стандартный ;
пустота сравнивать ( интервал значение_1, интервал значение_2, интервал * г_Адрес, интервал * s_Address )
{
если ( значение_1 > значение_2 ) {
* g_Address '=' значение_1 ;
* s_Address '=' значение_2 ;
}
еще {
* g_Address '=' значение_2 ;
* s_Address '=' значение_1 ;
}
}
интервал основной ( )
{
интервал g_value, s_value, newValue_1, newValue_2 ;
расчет << «Пожалуйста, введите две цифры:» <> новоеЗначение_1 >> новоеЗначение_2 ;
сравнивать ( новоеЗначение_1, новоеЗначение_2, & г_значение, & s_value ) ;
расчет << ' \п Большее число ' << g_value << 'и меньшее число'
<< s_value ;
возвращаться 0 ;
}

Выход :
Пользователь вводит здесь «86» и «23». После нажатия «Enter» отображается результат. Таким образом, мы получаем несколько значений.

Пример 3: Использование массива

Здесь мы создаем функцию «ComputeComparison()», в которую вставляем две переменные «num_1» и «num_2» типа «int», а также массив с именем «my_arr[]». После этого у нас есть условие «if», которое проверяет, больше ли «num_1» «num_2» или нет. Если это правда, то «num_1» присваивается «my_arr[0]», а «num_2» присваивается «my_arr[1]». Но если условие неверно, выполняются операторы после «else», в которых мы присваиваем «num_2» «my_arr[0]» и «num_1» «my_arr[1]».

После этого мы вызываем здесь «main()», а затем объявляем еще две переменные int: «newNum_1» и «newNum_2». После этого объявляется массив размером «2». После этого мы получаем от пользователя два числа с помощью «cin», а затем вызываем функцию «ComputeComparison()» и отображаем следующий результат. Итак, здесь он возвращает несколько значений.

Код 3:

#include
с использованием пространство имен стандартный ;
пустота ВычислениеСравнение ( интервал номер_1, интервал номер_2, интервал мой_арр [ ] )
{

если ( номер_1 > номер_2 ) {
мой_арр [ 0 ] '=' номер_1 ;
мой_арр [ 1 ] '=' номер_2 ;
}
еще {
мой_арр [ 0 ] '=' номер_2 ;
мой_арр [ 1 ] '=' номер_1 ;
}
}

интервал основной ( )
{
интервал новыйNum_1, новыйNum_2 ;
интервал мой_арр [ 2 ] ;

расчет << «Пожалуйста, введите два числа для сравнения» <> новыйNum_1 >> новыйNum_2 ;
ВычислениеСравнение ( newNum_1, newNum_2, my_arr ) ;
расчет << ' \п Большее число ' << мой_арр [ 0 ] << 'и'
'меньшее число' << мой_арр [ 1 ] ;

возвращаться 0 ;
}

Выход :
Мы вводим здесь «54» и «98», а затем нажимаем «Enter», чтобы отобразить результат. Он показывает как большие, так и меньшие числа из введенных нами чисел.

Пример 4: Использование кортежей

Сюда включены два заголовочных файла: «tuple» и «iostream». Далее сюда помещается пространство имен «std». Далее мы используем ключевое слово «tuple» и вставляем два типа данных — «int». После этого мы создаем функцию с именем «findingValues()» и передаем ей «intValue_1» и «intValue2» в качестве ее параметров.

Затем ставится «if» там, где мы вводим условие «intValue_1 < intValue_2». Ниже мы используем ключевое слово return и размещаем функцию make_tuple(), в которую обе переменные добавляются в качестве параметра intValue_1, intValue2_. Затем у нас есть часть «else», в которую мы снова помещаем «return» вместе с функцией «make_tuple()». Но здесь мы сначала помещаем «intValue_2», а затем «intValue1». Теперь мы вызываем «main()» и инициализируем «new_value1» значением «5» и «new_value2» значением «28».

Далее мы объявляем еще две переменные типа «int» с именами «больше» и «меньше». Затем мы помещаем функцию «tie()» и передаем переменные «меньше, больше» в качестве параметра, а также вызываем здесь функцию «findingValues()». После этого печатаем оба значения: большее и меньшее числа.

Код 4:

#include
#include<кортеж>
с использованием пространство имен стандартный ;
кортеж findValues ( интервал intValue_1, интервал intValue_2 )
{
если ( intValue_1 < intValue_2 ) {
возвращаться make_tuple ( intValue_1, intValue_2 ) ;
}
еще {
возвращаться make_tuple ( intValue_2, intValue_1 ) ;
}
}
интервал основной ( )
{
интервал новое_значение1 '=' 5 , новое_значение2 '=' 28 ;
интервал больший, меньший ;
галстук ( меньше, больше ) '=' поиск значений ( новое_значение1, новое_значение2 ) ;
печать ( 'Большее число — %d, а '
«меньшее число — %d» ,
больший, меньший ) ;
возвращаться 0 ;
}

Выход :

Числа, которые мы добавляем в наш код, одновременно отображают большие и меньшие значения. Таким образом, мы можем легко возвращать несколько значений в нашем коде.

Заключение

Это руководство посвящено «возврату нескольких значений» в кодах C++. Мы тщательно изучили это понятие в этом руководстве и обсудили три метода, которые помогают возвращать несколько значений в программировании на C++. Мы объяснили, что несколько значений возвращаются с использованием методов кортежей, пар, указателей и массивов. Все эти методы подробно описаны здесь.