참조: 윤성우의 열혈 c++
함수 정의 형태 : void Happyfunc(int &ref) { .... }\
함수 호출 형태: int num = 24; Happyfunc(num);
void Happyfunc(const int &ref) {....}
불가능한 const 참조
const int num = 10;
int &ref = num1
ref +=10;
cout << num <<endl;
가능한 const 참조
const int num = 10;
const int &ref = num;
const int &ref = 50;
궁금증 : const는 값을 변경하지 못하게 한다는데 const int &ref = 50;
와 같이 상수값은 어떻게 const 참조자로 받을 수 있는거지?
답변: 상수를 const 참조자로 참조할 경우 상수를 메모리 공간에 임시적으로 저장하기 떄문이다 . 따라서 행이 바뀌어도 값이 사라지지 않는다.
따라서 다음과 같은 함수가 가능.
원래 같으면 참조자는 변수만 받을 수 있지만 const 참조자가 됨으로써 상수를 받을 수 있음으로 다음과 같은 덧셈이 가능해진다.
int Adder(const int &num1, const int &num2)
{
return num1 + num2 ;
}