반응형
- 레퍼런스 변수의 등장
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]
(모든 동영상 강의는 무료입니다.)
반응형
'언어 자료구조 알고리즘 > Escort C++' 카테고리의 다른 글
[C++] 2. 1 캡슐화란? (2) | 2016.04.15 |
---|---|
[C++] namespace (0) | 2016.04.15 |
[C++] 매개 변수명이 없는 입력 매개 변수 (0) | 2016.04.15 |
[C++] 디폴트 매개 변수 (0) | 2016.04.15 |
[C++] 함수 중복 정의(function overloading) (0) | 2016.04.15 |
[C++] 1. 2 클래스를 제외한 C언어와 다른 문법 사항(태그명, 변수 선언 위치) (0) | 2016.04.15 |
[C++] 1. 2 클래스를 제외한 C언어와 다른 문법 사항(bool 형식의 제공) (0) | 2016.04.15 |
[C++] 1. 2 클래스를 제외한 C언어와 다른 문법 사항 (const 포인터, void 포인터) (0) | 2016.04.15 |
[C++] 1. 2 클래스를 제외한 C언어와 다른 문법 사항 (열거형) (2) | 2016.04.15 |
[C++] 1. C++에 들어가면서 (0) | 2016.04.15 |