Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 함수에서 여러 값 반환

<시간/>

C 또는 C++에서는 함수에서 직접 여러 값을 반환할 수 없습니다. 이 섹션에서는 몇 가지 트릭을 사용하여 함수에서 둘 이상의 값을 반환하는 방법을 볼 것입니다.

"call by address" 또는 "call by reference"라는 방법을 사용하여 함수에서 둘 이상의 값을 반환할 수 있습니다. 호출자 함수에서 두 개의 변수를 사용하여 결과를 저장하고 함수는 포인터 유형 데이터를 사용합니다. 따라서 데이터의 주소를 전달해야 합니다.

이 예에서는 하나의 단일 함수에서 두 개의 숫자를 나눈 후 몫과 나머지를 반환할 수 있는 함수를 정의하는 방법을 볼 것입니다.

주소로 전화 걸기

#include<iostream>
using namespace std;
void div(int a, int b, int *quotient, int *remainder) {
   *quotient = a / b;
   *remainder = a % b;
}
main() {
   int a = 76, b = 10;
   int q, r;
   div(a, b, &q, &r);
   cout << "Quotient is: "<< q <<"\nRemainder is: "<< r <<"\n";
}

출력

Quotient is: 7
Remainder is: 6

참조로 호출

#include<iostream>
using namespace std;
void div(int a, int b, int "ient, int &remainder) {
   quotient = a / b;
   remainder = a % b;
}
main() {
   int a = 76, b = 10;
   int q, r;
   div(a, b, q, r);
   cout << "Quotient is: "<< q <<"\nRemainder is: "<< r <<"\n";
}

출력

Quotient is: 7
Remainder is: 6