nullptr解决的问题:
例如有两个重载函数
int foo(const char*a);
int foo(int a);
如果有代码foo(NULL),按照期望是应该调用第一个函数的,但是由于在C++中NULL被定义成0,所以实际调用的是第二个,这与我们的直觉不同。nullptr不能直接转换成int,所以如果使用foo(nullptr),调用到的将是"正确"的函数
nullptr
最新推荐文章于 2023-11-25 19:37:43 发布
nullptr解决的问题:
例如有两个重载函数
int foo(const char*a);
int foo(int a);
如果有代码foo(NULL),按照期望是应该调用第一个函数的,但是由于在C++中NULL被定义成0,所以实际调用的是第二个,这与我们的直觉不同。nullptr不能直接转换成int,所以如果使用foo(nullptr),调用到的将是"正确"的函数