참조자 Reference

Gogi·2023년 5월 29일

C++언어 기초 목록

목록 보기
6/15

변수의 별칭

레퍼런스(reference)는 변수에 대한 별칭이나 대체 이름이다. 레퍼런스를 사용하면 한 변수를 다른 이름으로 참조할 수 있다. 함수에 대한 인자로 사용할 때 유용하며 이는 값이 아닌 참조에 의한 전달(call by reference)을 통해 변수를 전달할 수 있게 해준다.


개념 설명

레퍼런스는 변수의 메모리 주소를 담지 않고, 참조 대상 변수 자체를 가리킨다. 이를 통해 함수 인자를 넘길 때 값의 복사를 피하거나, 대상 변수를 직접 수정하는 등의 용도로 사용된다.


사용 예시

int x = 10;
int& ref = x;

refx의 레퍼런스이며 xref는 같은 메모리 위치를 공유한다. 따라서 ref를 통해 값을 변경하면 x의 값도 변경된다.

void swap(int& a, int& b) 
{
    int temp = a;
    a = b;
    b = temp;
}

int main() 
{
    int x = 10;
    int y = 20;
    swap(x, y);
    
    // 출력: x: 20, y: 10
    return 0;
}

swap() 위 함수는 참조자를 사용하여 인자로 넘겨진 두 변수의 값을 교환한다.


주의사항

참조자는 반드시 선언과 동시에 초기화해야 함. 나중에 다른 변수를 참조하도록 변경할 수 없음.

NULL 값을 가진 참조자를 만들 수 없음. 이는 포인터와의 주요한 차이점 중 하나.


업데이트

. . .

profile
C, C++, C#, Unity

0개의 댓글