C++ 참조 vs 포인터

C++에서 참조(Reference)는 기존 변수에 대한 별칭(Alias)을 생성하는 기능이다.

포인터와 같이 메모리 주소를 처리하는 효율성을 유지하면서도, 안전하고 간결한 문법을 제공한다.

참조의 특징

참조는 포인터와 목적이 유사하나 동작 방식에 차이가 있다.

  • 강제적인 초기화: 참조는 선언 시 반드시 대상을 지정해야 한다.
  • 대상 변경 불가: 초기화된 이후 대상을 변경할 수 없다.
  • 안전한 사용: NULL 상태가 존재하지 않아 유효성 체크 부담이 적다.
  • 직관적인 문법: *-> 기호 없이 일반 변수와 동일하게 사용하여 가독성이 높다.

데이터 전달의 효율성

참조는 함수 인자 전달(Call by Reference)에서 중요하다.

대규모 객체를 전달할 때 복사 비용을 절감하기 위해 참조를 사용한다.

const 키워드를 병행하면 원본 수정을 방지하여 코드 안정성을 높인다.

포인터 보완

참조는 포인터의 복잡한 연산을 대체할 수 있다.

원본 데이터를 안전하고 빠르게 처리할 수 있다는 점이 특징이다.

기본적으로 참조를 우선적으로 고려하고, 필요한 경우에만 포인터를 사용하는 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts