반응형
참조자는 성격상 포인터와 비유되기 쉽다.
변수란? 할당된 메모리 공간에 붙여진 이름이다. 그리고 그 이름을 통해서 해당 메모리 공간에 접근이 가능하다.
그렇다면 할당된 하나의 메모리 공간에 둘 이상의 이름을 부여할 수는 없을까?
int num1 = 2016;
int &num2 = num1;
num2는 num1의 참조자가 되며 이는 결과적으로 num1이라 이름이 붙어있는 메모리공간에 num2라는 이름이 하나 더 붙은것이 된다.
이렇듯 참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름이다.
int num11 = 1020;
int &num2 = num1;
num2 = 3047;
cout<<"VAL : "<<num1<<endl;
cout<<"REF : "<<num2<<endl;
cout<<"VAL : "<<&num1<<endl;
cout<<"VAL : "<<&num2<<endl;
실행결과
VAL : 3047
REF : 3047
VAL:0012FF60
REF :0012FF60
ps. 참조자의 수에는 제한이 없으며 참조자 대상으로도 참조자를 선언할 수 있다.
참조자는 변수에 대해서만 선언이 가능하고, 선언됨과 동시에 누군가를 참조해야만 한다.
따라서 다음은 유효하지 않다.
int &ref=20; //const int &ref=20;은 가능
int &ref;
int &ref=NULL;
반응형
'IT > Programming' 카테고리의 다른 글
C++ <C++에서 C언어 표준함수 호출> (0) | 2023.04.18 |
---|---|
C++ <new&delete> (0) | 2023.04.18 |
C++ <C언어 기반의C++> (0) | 2023.04.18 |
C++ <OOP단계별 프로젝트 1단계-BANK> (0) | 2023.04.18 |
C++ <범위지정연산자 기능> (0) | 2023.04.18 |