포인터와 참조는 로우레벨 개념까지 봤을 때 원리는 동일하다.
그렇기 때문에 속도도 같다. 그렇다면 어떤 것을 이용하는게 좋을까?
먼저 포인터와 참조의 가장 큰 차이점은 nullptr이다.
포인터는 nullptr을 가질 수 있지만 참조는 어떤 변수의 별명이기 때문에 반드시 무언가를 가리켜야 한다.
그래서 nullptr값을 가질 수 있다면 포인터, 아니라면 참조를 사용하는 것이 좋을 것이다.
참조를 사용하는 이유는 일단 편해서이다.
포인터는 ->로 접근해야 하는데 참조는 . 로 일반적인 방법으로 접근이 가능하다.
그렇지만 이 편한 것이 장점만 있는 것은 아니다. . 으로 접근하기 때문에 레퍼런스인지 일반 데이터인지 헷갈릴 수 있다.
그래서 사용하는 것이 #define OUT으로 의미없는 문자열을 만들어서 참조가 매개변수로 사용될 때 참조 앞에 적는 것이다.
'C++' 카테고리의 다른 글
| [C++] 초기화 리스트는 선처리 영역에서 실행된다. (0) | 2022.06.22 |
|---|---|
| [C++] 포인터 vs 배열 (0) | 2022.06.21 |
| [C++] 정수형, 불리언, 부동소수점 (0) | 2022.06.19 |
| [C++] 음수를 비트로 표현하는 방법(2의 보수), 진법 표현 (0) | 2022.06.18 |
| [C++] RAII (0) | 2022.06.17 |