Reference(참조자)란
내가 가지고 있는 변수를 대신할 또다른 변수이다.
별칭,별명같은 느낌
참조자의 선언은 변수명&을 이용해서 선언하게된다.
참조자는 자신이 가리키고 있는 대상의 값을 저장한다.
int main()
{
int b = 20;
int& num = b;
}
이런식으로 작성하며 num은 b의 주소를 가지고있다. 이때 num = 30; 을 하게되면 b의 값은 30이 될것이다.
Reference를 사용할때 주의사항
1. 선언과 동시에 초기화를 해주어야한다.
2. 참조형의 변수는 절대 NULL이 될 수 없다.
3. 가지고 있지 않은 메모리 장소를 가리킬 수 없다.
4. 선언이후 다른 것을 참조할수없다.
int main()
{
int a = 10;
int b = 20;
int& num = a;
num = b;
}
&num을 a로 초기화 하였다. 이제 num은a의 별칭이다. 그 다음으로
num에 b를 넣어주었다. 생각으로는 이제 num은 b의 별칭이 된것같지만 그렇지않다.
num = b;는 그냥 단순 대입문이기 때문이다. 그러므로 a는 20이 된다.
int main()
{
int a = 10;
int b = 20;
}
void swap(int &a, int &b)
{
int c = a;
a = b;
b = c;
}
레퍼런스를 이용하면 swap을 간결하게 작성할수있다.