본문/내용
1. C++에서 포인터와 참조자의 차이점에 대해 설명하시오.
C++에서 포인터와 참조자는 모두 변수의 주소를 다루는 방법이지만, 중요한 차이점이 존재합니다. 포인터는 변수의 주소를 저장하는 변수로, 선언 후에 nullptr로 초기화하거나 다른 주소로 쉽게 변경할 수 있습니다. 예를 들어, int p = nullptr; 처럼 선언하고 p는 언제든지 다른 정수 변수의 주소로 변경 가능합니다. 반면, 참조자는 이미 존재하는 변수를 별칭으로 사용하는 것으로, 선언 시 반드시 초기화되어야 하며 이후 변경이 불가능합니다. 즉, int a = 10; int& ref = a; 와 같이 선언하면 ref는 a를 가리키게 되며, 참조는 주소 변경이 불가능합니다. 또한, 포인터는 산술 연산이 가능하여 배열 접근이나 주소 계산이 유용하지만, 참조는 단순한 별칭으로만 활용됩니다. 실무에서 포인터는 동적 메모리 할당, 데이터 구조 구현 등에 주로 사용되며, 참조는 함수 인자 전달이나 상수 참조를 통한 효율적 읽기-쓰기 용도로 활용됩니다. 예를 들어, 포인터를 사용하여 1000건의 데이터에 대한 접근 속도를 10% 향상시킨 사례도 있으며, 참조를 이용해 함수 호출 시 메모리 사용량을 20% 감소시킨 경…