태그 글목록: 레퍼런스

[C++ 정리] reference(참조) 의 사용 2015-06-12

포인터 변수에 주소값을 입력하기 위해서 &(ampersand)를 사용한 것과 마찬가지로 변수형으로 정의하여 사용할 수 있다.

#include "stdafx.h"
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{	
	int number = 100;

	// 참조변수 선언 및 초기화
	// ※ 반드시 변수를 정의할때 초기화해주어야 한다.
	int& referenceVariable = number;
		
	// 참조이기 때문에 같은 메모리를 사용하므로 하나를 변경하면 모두 변경된다고 봐야한다
	referenceVariable = 200;
	cout << "number :: " << number << "\n";
	cout << "reference :: " << referenceVariable << "\n";

	if (referenceVariable == number)
	{
		// referenceVariable는 메모리 상에 존재하지 않지만 number와 동일하다
		cout << "referenceVariable == number :: true \n";
	}

	const int& constVariable = number;
	// [Error] : 상수형으로 선언하면 변경할 수 없다.
	//constVariable = 100;
	// 상수를 변경할 수 없지만 참고하는 값을 변경하면 constVariable도 변경된다.
	number = 300;
	cout << "number :: " << number << "\n";
	cout << "reference :: " << constVariable << "\n";

	return 0;
}
* 참조변수 선언시 반드시 초기화 하여야 한다.
* 참조변수는 메모리상에 존재하지는 않지만 같은 메모리를 사용한다.