독개

[C++] 6.14 참조변수 reference variable

by #독개#
/*
	참조는 한주소의 또다른 별칭처럼 사용할 수 있다. 진짜 그 주소에 별칭만 추가한것
	포인터는 메모리공간을 할당받아 거기에 주소를 적어둔것
	레퍼런스,포인터는 반드시 선언시 초기화 해야한다 (단 const 선언시에는 가능)
	재할당(re-assign)가능
*/

int doSomething(int &y) //그냥 int y 로하면 다른 메모리공간에 잠시 y를 선언하는것이니 느리다 참조시 더빠름
{
	y = 3; // 매개변수에 const int &y 이렇게하면 변경할수 없다 요즘 제일 많이쓰는 방법
	return 0;
}

struct Something
{
	int v1;
	int v2;
};

struct Other
{
	Something st;
};

#include <iostream>
using namespace std;

int main()
{
	int x = 5;					//int 4byte메모리 공간을 할당받고, 별칭을 x라 지정
	int& ref = x;				//x의 주소값에 ref 별칭 추가
	cout << ref << endl;
	doSomething(ref);
	cout << ref << endl;

	int* ptr = &x;

	cout << &x << endl;			//004FFD30
	cout << &ref << endl;		//004FFD30
	cout << &ptr << endl;		//004FFD18

///--------------------------------------------------------------------------------

	Other ot;
	//int v1 = ot.st.v1; //이렇게하면 변수뭐 할때마다 ot.st.v1해줘야함 레퍼런스하면 편하게 계속사용가능
	int& v1 = ot.st.v1;
	v1 = 1
	return 0;

}

 

 

 

 

 


🐱‍👓독하게 개발

블로그의 정보

독한 개발자

#독개#

활동하기