C++ nullptr 和 NULL用哪个初始化指针好?
传统意义上来说,c++把NULL、0视为同一种东西,有些编译器将NULL定义为((void*)0),有些将其定义为0.如果NULL被定义为0,func(NULL)会去调用voidfunc(int),这是不合理的。c++不允许直接将void*隐式的转化为其他类型,但是如果NULL被定义为((void*)0),nullptr的类型为nullptr_t,能够隐式的转换为任何指针。所以引入nullptr,专门用来区分0、NULL。当编译char*p=NULL;NULL只好被定义为0。...