[Modern C++] nullptr
nullptr은 누구나 사용하고 있을 정도로 널리 퍼져있고 유명하다.
Modern C++에서 nullptr이 등장하기 전에는 0 혹은 null이 사용되었는데 오늘은 예전에 쓰이던 방식과
nullptr의 차이를 알아보도록 하자.
우선 예전 방식의 경우 이미지 1-1과 같은 문제가 있다.
0 or NULL값을 넣어주어도 결국엔 정수를 넣어주는 것이나 다름없기 때문에 포인터 형식의 함수가
호출되는 것이 아닌 int형 함수가 호출되는 것을 확인할 수 있다. 이러한 문제 때문에 사용자가 포인터 형식의
함수를 호출하고 싶은데 전혀 다른 정수형 함수가 호출되어서 문제가 될 수도 있다.
이번에는 nullptr을 넣어주었다. 결과는 예상대로 포인터를 받아주는 형식의 함수가 호출되는 것을
확인할 수 있다. 1-1 이미지처럼 nullptr를 사용하지 않으면 의도치 않게 잘못된 함수를 호출하거나 오동작이
일어날 수 있으므로 nullptr 사용은 필수라고 생각하면 된다.
nullptr은 가독성적인 측면에서도 도움이 된다. nullptr을 사용했다는 것은 포인터를 사용하고 있다는 것을
간접적으로 알려주는 것이나 다름 없기 때문에 사용하는 것이 여러모로 이득이 많다.
'프로그래밍 언어 공부 > C++' 카테고리의 다른 글
[Modern C++] 오른값(rvalue) 참조 (0) | 2022.07.16 |
---|---|
[Modern C++] override, final (0) | 2022.07.15 |
[Modern C++] 중괄호 초기화 { } (0) | 2022.07.14 |
[Modern C++] auto (0) | 2022.07.14 |
algorithm (0) | 2022.07.13 |