[C++]참조자의 이해

C++ 참조자(reference, &)


C언어를 공부하면서 하나의 할당된 메모리 공간에 이름을 지어 주었었다. 그것을 가리켜서 변수라고 한다. 그렇다면 하나의 할당된 메모리 공간에 둘 이상의 이름을 부여할 수는 없을까? C++에서 제공해주는 참조자를 이용하여 나타낼 수가 있다.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

#include <iostream>

using namespace std;

 

int main(void)

{

    int num1 = 2000;

    int &num2 = num1;

 

    cout<<"num1 : "<<num1<<endl;

    cout<<"num2 : "<<num2<<endl;

 

    return 0;

}

cs


위에 코드를 보시게 되면 int num1 = 2000; 으로 초기화가 되어있고, 참조자 변수 num2num1으로 초기화 해주었고 num1, num2 를 출력해본 결과 결과값이 서로 같다는 것을 확인할 수 있습니다.



 

이 말은 즉, num1변수와 참조자 num2 변수는 하나의 동일한 메모리를 가리킨다는 말입니다. 그림으로 표현하자면 아래와 같습니다.

 


 

 

이렇게 2000이라는 변수를 num1, num2 변수 동일하게 가리키게 됩니다.

 

레퍼런스의 제약

레퍼런스를 이용할 때 크게 3가지 제약조건이 있습니다.

1. 참조자는 변수에 대해서만 선언이 가능합니다.

2. 참조자는 초기화를 안하면 에러가 납니다.

3. 참조자는 NULL로 초기화 하는 것이 불가능 합니다.

 

이로써 참조자의 설명을 마치겠습니다.


728x90

'C++ > C++ 문법' 카테고리의 다른 글

[C++] STL map 사용 법  (0) 2018.06.20
C++ csv 파일 읽기 및 파싱 방법  (4) 2018.05.28
[C++] 가변인수함수  (0) 2018.05.10
[C++] 자료형 bool 형식  (0) 2018.05.09
C++ 인-라인 함수  (0) 2018.05.04

이 글을 공유하기

댓글

Designed by JB FACTORY