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,完美解决。

 

posted @ 2020-11-06 15:50  举觞  阅读(191)  评论(0)    收藏  举报