언어 자료구조 알고리즘/Escort C++

[C++] 1. 2 클래스를 제외한 C언어와 다른 문법 사항 (레퍼런스 변수)

언제나휴일 2016. 4. 15. 12:01
반응형

- 레퍼런스 변수의 등장

 

 C++언어에서는 변수 선언 시에 다른 변수에 의해 할당된 메모리를 참조하는 레퍼런스 변수를 선언할 수 있습니다. 이 경우에 레퍼런스 변수는 별도의 메모리가 할당되지 않습니다. 이러한 이유로 레퍼런스 변수는 선언 시에 우항에 l-value(대입 연산자의 좌항에 올 수 있는 표현을 말함)가 와야 합니다.

 

 주의할 것은 레퍼런스 변수는 선언 부 이외에는 기존 변수처럼 값 기반으로 동작합니다.

 

 레퍼런스 변수의 사용 예

#include <iostream>

using std::cout;

using std::endl;

 

void main()

{

    int a = 0;

    int &ra = a;

    ra=3;

    cout<<"a:"<<a<<endl;

    cout<<"ra:"<<ra<<endl;

}

 

 레퍼런스 변수를 사용할 때 주의할 사항으로는 리턴 형식을 레퍼런스 형식으로 만들고 지역 변수를 반환하지 말라는 것입니다. 이미 해당 함수가 리턴하고 난 후에 반환한 메모리는 논리적으로 소멸한 메모리이기 때문에 이 때문에 발생한 모든 책임은 개발자에게 있습니다.

 


레퍼런스 변수

 [그림 1.5]


1장 C++ 들어가면서 동영상 보기

(모든 동영상 강의는 무료입니다.)

반응형