포인터도 힘들었는데...참조자라니 😭


아직도 기억이 생생하다...

포인터를 이해하기 위해 고생을 했고 사실 아직도 헷갈린다는걸,,,

근데 왜 C++에는 참조자까지 있는거냐고,,울고싶어라 😂

그래서 참조자가 뭔데 ⁉️


결론부터 말하자면, 변수의 또 다른 이름(별명)을 컴파일러에게 알려주는 것이다!

참조자를 정의하는 법은 가리키고자 하는 타입 뒤에 &를 붙여주면 된다

주의할점은 참조자는 반드시 선언정의동시에 해줘야 한다.

또한, 참조자는 한번 어떤 변수의 참조자가 되어버리면, 더 이상 다른 변수를 참조할 수 없게 된다.

예시를 보도록 하자

#include <iostream>

int main(void)
{
	int a = 2;
	int &ref_a = a;

	std::cout << "a : " << a << std::endl;
	std::cout << "ref_a : " << ref_a << std::endl;

	a = 3;
	std::cout << "a : " << a << std::endl;
	std::cout << "ref_a : " << ref_a << std::endl;

	ref_a = 4;
	std::cout << "a : " << a << std::endl;
	std::cout << "ref_a : " << ref_a << std::endl;

	return (0);
}

결과

Untitled

위에서 확인할 수 있듯이, 새로운 이름이기 때문에 a에서 바꾸든 ref_a에서 바꾸든 모두가 바뀌는 것을 확인할 수 있다.