C++中的nullptr,NULL,0和C中的NULL
C中的NULL实际上表示为:
#define NULL ((void*)0)
在给int*和float*指针赋值时会隐式转换成相应的类型。
C++为强类型,不能隐式转换。所以用整数0表示空指针,NULL指代0。但是在遇到函数重载时可能出现问题。
void f1(anytype element,int * p)
void f1(anytype element,int p)
当这样传入时:f1(anytype element, NULL),可能你想调用上面的f1,可实际调用的是下面那个,所以C++11引入nullptr,完美解决。

浙公网安备 33010602011771号