C++ 포인터와 참조 차이: null 가능성, 수명, 소유권으로 구분하기
댓글수 2 ·
2026.06.21
한 줄 요약: 포인터와 참조는 모두 기존 객체에 접근할 수 있지만, null 가능성과 재지정 여부, 객체 수명에 대한 계약을 서로 다르게 표현합니다.왜 중요한가포인터와 참조를 문법 차이로만 외우면 함수 매개변수를 설계할 때 기준이 흐려집니다. 호출자가 값을 반드시 전달해야 하는지, 대상이 없을 수도 있는지, 함수가 객체를 소유하는지를 타입에서 읽을 수 있어야 코드를 사용하는 쪽에서도 안전한 판단을 내릴 수 있습니다.특히 규모가 커진 C++ 코드에서는 객체의 수명이 여러 함수와 스레드, 시스템 경계를 넘나듭니다. 포인터 또는 참조가 가리키는 객체가 이미 파괴되었는데도 접근하면 컴파일은 성공하더라도 실행 중 정의되지 않은 동작이 발생할 수 있으므로, 타입 선택은 곧 수명 계약을 설계하는 일과 연결됩니다.이 ..