직접 참조를 하기 위해 만들어진 자료형

**직접 참조와 간접 참조

int iNum = 10;

*(&iNum) = 15;    직접 참조
int *p = &iNum;   간접 참조

int& r = iNum;    직접 참조(레퍼런스)

**장점

  • 용량이 없고, 속도가 빠르다
  • 개별적인 참조 대상을 두어 데이터 관리가 효율적

**단점

  • 참조의 대상을 변경 할 수 없음
  • l-value만 참조 가능
  • 동적할당을 할 수 없음
읽기 전용 레퍼런스를 사용하면 r-value 참조가 가능
쓰기는 불가능하다

(파일 입출력시 주소값을 저장하는 방식으로 사용)
const int& r = 100;