C++
[C++] call by reference
pppgod
2019. 7. 5. 21:38
함수에 변수를 전달 하는 방법은 두가지가 있다. 그중에서 예제를 통해 포인터로 변수를 전달하는 방법을 알아보자.
예제
void func1(int *a) {
cout << *a << endl;
}
void func2(int &a) {
cout << a << endl;
}
void call() {
int a = 5;
func1(&a);
func2(a):
}
위의 두가지 방법은 결과가 같다.
둘의 차이는 아규먼트를 NULL로 전달 가능하냐는 것이다.
func1(NULL);
func2(NULL); //error
밑에처럼 NULL로 호출하는 경우 2번의 케이스에서는 컴파일 에러가 난다. NULL로 전달하는것을 막고 싶다면 func2처럼 구현하면 된다.