It won't hurt to try

[C++/윈도우프로그래밍응용]7. 인수 전달과 반환 본문

C++/윈도우프로그래밍응용

[C++/윈도우프로그래밍응용]7. 인수 전달과 반환

yongki.doki 2021. 9. 19. 19:40

인수 전달 방법은 2가지이다.

인수 전달 방법 설명
값으로 호출하기(call-by-value) ・함수 호출 시 인수의 값이 매개 변수로 복사되는 방법
・배개변수의 내용을 변경해도 원본 인수는 변경되지 않음
참조로 호출하기(call-by-reference) ・원본 인수가 함수에 전달되는 방법
・매개변수의 내용을 변경하면 원본 인수 또한 변경됨

값으로 호출하기

#include <iostream>

using namespace std;

int increase(int);

int main()
{
    int num1 = 1;
    int result = increase(num1);
    cout << "num1: " << num1 << endl; // 1
    cout << "result: " << result << endl; // 2
}

int increase(int num1)
{
    num1++;
    return num1;
}

결과처럼 참조가 아닌 값이 넘어갔다는 것을 알수있다.

num1의 값이 바뀌지는 않는다.

 

참조로 호출하기

#include <iostream>

using namespace std;

int increase(int&);

int main()
{
    int num1 = 1;
    int result = increase(num1);
    cout << "num1: " << num1 << endl; //2
    cout << "result: " << result << endl; //2
}

int increase(int& num1)
{
    num1++;
    return num1;
}

함수의 자료형옆에 &를 넣어서 값이 아닌 값의 주소를 넘긴다.

300x250
300x250
Comments