// // 2.1.nullptr.cpp // chapter 2 language usability // modern cpp tutorial // // created by changkun at changkun.de // https://github.com/changkun/modern-cpp-tutorial // #include #include void foo(char *); void foo(int); int main() { if (std::is_same::value) std::cout << "NULL == 0" << std::endl; if (std::is_same::value) std::cout << "NULL == (void *)0" << std::endl; if (std::is_same::value) std::cout << "NULL == nullptr" << std::endl; foo(0); // will call foo(int) // foo(NULL); // doesn't compile foo(nullptr); // will call foo(char*) return 0; } void foo(char *) { std::cout << "foo(char*) is called" << std::endl; } void foo(int i) { std::cout << "foo(int) is called" << std::endl; }