- [Effective Modern C++] 항목 82022년 08월 14일
- starryeye
- 작성자
- 2022.08.14.:14
Effective Modern C++ 책을 보며 정리하는 포스팅
현재 수준에 감당 되는 것만 추가 공부하여 정리
항목 8. 0과 NULL보다 nullptr을 선호하라
리터럴 0은 int이지 포인터가 아니다.
포인터만 사용할 수 있는 위치에 0이 있으면 c++은 마지 못해 null 포인터로 해석 하긴 한다..
하지만, 최후의 수단일 뿐이다..
(NULL 도 포인터 형식이 아니다.)
간단한 개념이다.
void f(int); void f(bool); void f(void*); f(0); //f(int) 호출 f(NULL); //보통 f(int) 호출, f(void*) 호출하는 경우 없음 f(nullptr); //f(void*) 호출
overloading 된 함수를 보자..
nullptr을 사용하지 않을 때.. 의도하지 않은 호출을 보여주고 있다..
nullptr은 모든 형식의 포인터로..
코드의 명확성을 올려주고, 개발자가 의도한 대로.. 함수 호출이 이루어진다.
물론 정수 형식과 포인터 형식에 대한 overloading 자체를 피하는 것이 가장 좋다.
'C++' 카테고리의 다른 글
[Modern C++ 정리] Temporary 1 (0) 2022.09.05 [C++] template (0) 2022.08.14 [Effective Modern C++] 항목 5 (0) 2022.08.14 [C++] move와 copy (0) 2022.07.15 [C++] Template Type check (0) 2022.07.15 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)