반응형
함수를 호출하는 두가지 방식은 아래와 같습니다.
Call-by-value
Call-by-reference
Call-by-value 는 입력된 변수의 값만 복사하여 매개변수에 저장하는 방식입니다. Call-by-reference 는 입력된 변수의 주소값을 전달받아, 함수 밖에 선언된 변수를 조작할 수 있게 합니다. Call-by-reference 는 아래와 같이 포인터를 이용하여 매개변수를 정의합니다.
int myfun(int* var1)
{
함수내용
}
참조자를 이용하여 동일한 기능 구현이 가능합니다. 함수를 아래와 같이 선언하여도 위와 동일한 의미를 갖습니다.
int myfun(int &var1)
{
함수내용
}
참조자를 함수의 매개변수로 사용하여 함수에 변수를 입력하면 변수의 값을 변경하는 함수를 만들어봤습니다 .
#include <iostream>
using namespace std;
void my_fun(int &val)
{
val=val+3;
}
int main()
{
int a=3;
cout<<a<<endl; //a값 출력
my_fun(a); //함수 실행
cout<<a<<endl; //변경된 a값 출력
return 0;
}
//결과
//3
//6
함수 실행 전 a값은 3이고, 함수 실행 후 a값은 6입니다. a값이 변경되는 것을 확인할 수 있습니다.
반응형
'C++ > 참조타입' 카테고리의 다른 글
[C++] 참조자란 무엇인가 (0) | 2022.08.12 |
---|
댓글