[C++] NULL vs nullptr, 포인터에서 nullptr을 사용해야 하는 이유
·
programming/개념 정리
🤔 C++ 11에 추가된 nullptr과 NULL은 어떻게 다를까?결론 : 간단히 말하면 NULL은 정수타입의 0, nullptr은 가르키는 것이 없는 포인터 타입이다. `NULL`NULL은 포인터일까? 답은 아니다. NULL은 전처리단계에서 0 으로 치환되는 #define 지시어일 뿐이다. 일종의 매크로로 정수 0일 뿐이다. 💭 여기서 이것이 무엇이 문제인지 생각해보자. NULL이 정수 0인게 왜? 따라갈 포인터도없으니 댕글링 현상도 없고 괜찮지 않을까? ✔️ 함수 오버로딩에서 NULL을 사용하면, 정수와 포인터를 구분하지 못해 혼란을 일으킬 수 있다. `nullptr` 그래서 nulptr이라는게 생겼다. nullptr는 C++11에서 도입된 키워드로, 포인터 타입을 명확하게 나타낸다. nu..