#include <iostream>
int main()
{
/*
레퍼런스 : 다른 변수를 참조하여 값을 컨트롤 할 수 있다.
포인터와 비슷한 기능을 하지만 포인터는 C언어에서도 지원하는 반면
레퍼런스는 C++ 버전의 포인터이다.(좀 더 사용하기 쉬운 포인터)
처음 한번 참조하는 대상이 지정되면 다른 대상을 참조할 수 없다.
장점: 역참조를 할 필요가 없다.(바로 접근이 가능하다)
int& << 레퍼런스 문법
레퍼런스는 저장 공간을 반드시 필요로 하는것은 아니다.
하지만 컴파일러가 구현에 따라서 필요할 경우 공간을 만들수도 있다.
컴파일러에 따라 공간이 잡힐수도 있고 안 잡힐수도 있음.
그래서 sizeof로 측정이 안 됨.
메모리가 할당될 경우 포인터와 같은 크기의 공간이 할당된다.
앞으로 const reference 형태로 많이 사용하게 될 것임.
구조체와 함수에서 많이 쓰임.
*/
int Number = 100;
int Number1 = 200;
int* pNumber = &Number;
int& Ref = Number;
int*& pRef = pNumber;
//포인터에 대한 레퍼런스도 가능하다.
Ref = 2020;
pRef = &Number1;
std::cout << Number << std::endl;
std::cout << *pNumber << std:: endl;
//해당 내용 암기할 것
return 0;
}