2016. 12. 14. 23:13 C++/공부
C++] 기초(8) - 참조자와 Call-by-reference
반응형
** 본 게시물은 C++을 복습하며 정리하는 글입니다. 틀린 부분이 있다면 지적 부탁드립니다. 현재 "윤성우의 열혈강의 C++"교재로 공부중이며 좀 더 상세한 설명을 원하시는 경우에는 책을 구매해서 찾아보시길 권장합니다.
[들어가기 전]
C언어에서 Call-by-value / Call-by-reference 의 차이를 공부한 적이 있을것이다.
Call-by-value는 "값을 인자로 전달하는 함수의 호출방식" 이며
Call-by-reference는 "주소 값을 인자로 전달하는 함수의 호출방식"을 의미한다.
Call-by-reference로 함수를 호출할 때는 주소 값을 넘겨주기 위하여
int* ExFunc(int *ptr) {} 형식의 함수를 작성하게 된다. 하지만 우리는 앞서 참조자를 학습하고
왔다. 그러므로 Call-by-reference에는 2가지 방식이 있다고 생각하면 된다. 바로
주소값을 이용한 Call-by-reference
참조자를 이용한 Call-by-reference
이다.
[예제]
ex)
출력결과)
nVal1 : 5
nVal2 : 7
nVal1 : 7
nVal2 : 5
[추가]
1) 참조자는 선언과 동시에 초기화 해야 한다. 그런데 어떻게 초기화 없이 사용??
함수의 매개변수는 함수가 호출될 때 초기화가 진행되는 변수들이다. 그러므로 참조자로 선언된 매개변수는 함수호출 시 전달되는 인자로 바로 초기화된다. 그러므로 문제가 발생하지 않는 것이다.
반응형
'C++ > 공부' 카테고리의 다른 글
C++] 기초(10) - 정보은닉(Information Hiding) (0) | 2017.10.15 |
---|---|
C++] 기초(9) - 참조자 반환 함수 사용 시 (1) | 2017.10.15 |
C++] 기초(7) - 참조자(Reference) (0) | 2016.12.08 |
C++] 기초(6) - const 키워드 (0) | 2016.12.08 |
C++] 기초(5) - 이름공간(namespace) (0) | 2016.12.07 |