Doing/C&C++

[C++] Reference

YongArtist 2020. 6. 29. 09:46

Reference

C언어에서 다루었던 포인터와 비슷한 개념이지만 다르다.

어떤 변수나 상수를 다른 변수가 참조해서 동일한 값을 가지도록 만든다.

#include <iostream>

int change_val(int &p){
// 레퍼런스를 통해 전역변수를 선언하지 않고 함수 내의 변수와 연결 가능
	p = 3;
	return 0;
}

int main(){
	int x = 5;
	
	change_val(x);
	
	int& y = x;
	int& z = y;


	printf("x: %d y: %d z: %d \n",x, y, z);

	y = 10;
	printf("x: %d y: %d z: %d \n",x, y, z);

	z = 8;
	printf("x: %d y: %d z: %d \n",x, y, z);
}
Result

x: 3 y: 3 z: 3 
x: 10 y: 10 z: 10 
x: 8 y: 8 z: 8