학부생 공부/C++
c++의 포인터, 참조 타입 변수(레퍼런스)의 차이
대엉
2019. 11. 10. 00:47
참조 타입 변수(레퍼런스) 는 별명과 같은 느낌이라고 보면 될 것이다.
c++의 포인터 와 레퍼런스의 차이점을 알아보자.
# 포인터는 null을 가리킬 수 있지만 참조 타입 변수는 null을 가리킬 수 없다.
- 포인터를 초기화 하지 않거나 null을 가리키고 있는 포인터에 접근 했을 때
발생하는 에러가 참조 타입 변수에서는 나타나지 않는다.
# 참조 타입 변수는 선언과 동시에 초기화 하지않으면 컴파일 오류가 발생한다.
# 포인터는 * , -> 등의 포인터 연산자를 통해서 접근 해야 하지만 참조 타입 변수는
마치 지역변수 처럼 접근할 수 있다.
# 참조 타입 변수는 초기화 과정에서만 값을 할당 할 수 있고 이후에 다시 할당을
시도 할 경우 컴파일 에러가 발생한다. 하지만 포인터 변수는 참조 대상을 언제든지 변경할
수 있다.