산타는 없다

포인터와 참조자를 쓸 시기를 구분하는 방법 본문

프로그래밍 서적/More Effective C++

포인터와 참조자를 쓸 시기를 구분하는 방법

LEDPEAR 2021. 9. 29. 20:06
반응형

포인터와 참조자는 모두 다른 객체를 간접적으로 참조할 수 있게 하는 것입니다. 하지만 완전히 같은 것은 아니기 때문에 사용하는 시기를 잘 구분해야 합니다.

참조자 특징

  • 널 참조자는 없다
  • 초기화될 때 참조했던 그 객체만 참조한다

참조자는 위와 같은 특징을 가지기 때문에 포인터와 참조자를 쓸 시기를 구분할 수 있습니다.


포인터를 사용해야 하는 상황

  • 가리킬 객체의 주소가 없을 때
  • 하나의 변수를 가지고 여러 개의 객체를 바꾸어 참조할 때

참조자를 사용해야 하는 상황

  • 참조할 포인터가 처음부터 끝까지 존재할 것임을 알고 있을 때
  • 참조하는 대상 객체를 바꿀 필요가 없을 때
  • 포인터를 사용하면 문법상 의미가 어색해지는 연산자를 구현할 때

참조자를 사용해야 하는 세 가지 경우를 제외하고는 포인터를 사용하는 것이 좋습니다.

반응형
Comments