C++) null과 nullptr의 차이점
포인터와 정수 의미의 구분
null 과 nullptr의 차이점
null
null은 상수로 널포인터를 표현하며, 0과 의미가 같았다. 함수를 사용함에 있어서, 널포인터의 의미로 사용했지만 정수로 인식이 되는 문제가 발생하는 것이다.
nullptr
그래서 nullptr이 생겼다. 널포인터와 정수의미가 구분되었기에 위와 같은 문제가 발생하지 않는다.
테스트
void func(char* str){ cout << "char* version" << endl; }
void func(int i){ cout << "int version" << endl; }
int main(){
func(NULL);
func(nullptr);
return 0;
}