참조 변수는 별칭, 즉 이미 존재하는 변수의 다른 이름입니다. 참조가 변수로 초기화되면 변수 이름이나 참조 이름을 사용하여 변수를 참조할 수 있습니다.
참조 대 포인터
참조는 종종 포인터와 혼동되지만 참조와 포인터의 세 가지 주요 차이점은 다음과 같습니다. -
-
NULL 참조를 가질 수 없습니다. 참조가 합법적인 저장소에 연결되어 있다고 항상 가정할 수 있어야 합니다.
-
참조가 개체에 대해 초기화되면 다른 개체를 참조하도록 변경할 수 없습니다. 포인터는 언제든지 다른 개체를 가리킬 수 있습니다.
-
참조는 생성될 때 초기화되어야 합니다. 포인터는 언제든지 초기화할 수 있습니다.
C++에서 참조 생성
변수 이름을 메모리에서 변수의 위치에 부착된 레이블로 생각하십시오. 그런 다음 참조를 해당 메모리 위치에 부착된 두 번째 레이블로 생각할 수 있습니다. 따라서 원래 변수 이름이나 참조를 통해 변수의 내용에 액세스할 수 있습니다. 예를 들어 다음과 같은 예가 있다고 가정합니다. -
int i = 17;
다음과 같이 i에 대한 참조 변수를 선언할 수 있습니다.
int& r = i;
이 선언의 &를 참조로 읽으십시오. 따라서 첫 번째 선언을 "r은 i로 초기화된 정수 참조"로 읽고 두 번째 선언은 "s는 d로 초기화된 이중 참조"로 읽습니다.
예시 코드
#include <iostream> using namespace std; int main () { // declare simple variables int i; double d; // declare reference variables int& r = i; double& s = d; i = 5; cout << "Value of i : " << i << endl; cout << "Value of i reference : " << r << endl; d = 11.7; cout << "Value of d : " << d << endl; cout << "Value of d reference : " << s << endl; return 0; }
출력
Value of i : 5 Value of i reference : 5 Value of d : 11.7 Value of d reference : 11.7