[C++11 Overview] nullptr

Book Review 2013. 2. 18. 14:56

C++ 세계에 nullptr 이 등장했습니다.


literal value 0 은 


int a = 0;

int* p = 0;


이렇게 value 와 pointer 모두에 대입이 가능했습니다.


하지만 새로 등장한 nullptr 은


int* p = nullptr;

int a = nullptr; // error


value 로의 대입에 대해서는 에러를 내게 됩니다.

( reinterpret_cast<int>(nullptr) 같이 캐스팅을 통해 대입은 가능하지만.. )


책에서 주목할 만한 부분은 템플릿 코드의 인자 추론과 관련되는 부분인데,



이 코드에서 f(0) 에서 0 은 묵시적으로 널포인트 처리되지만


logAndCall 에서 0 은 int 형 으로 추론되고 f(int) 함수를 찾게 되기 때문에


에러를 내게 됩니다.


: