IT/Programming / / 2023. 4. 18. 17:47

C++ <참조자reference 이해>

반응형

참조자는 성격상 포인터와 비유되기 쉽다.

변수란? 할당된 메모리 공간에 붙여진 이름이다. 그리고 그 이름을 통해서 해당 메모리 공간에 접근이 가능하다.

그렇다면 할당된 하나의 메모리 공간에 둘 이상의 이름을 부여할 수는 없을까?

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
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유