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;
}

Untitled