【C++】NULL与nullptr的区别
NULL在C语言中是(void * )0,在C++中却是0。这是因为在C++中void * 类型是不允许隐式转换成其他指针类型的,所以之前C++中用0来代表空指针。但是,在重载整型和指针的情况下,会出现匹配错误的情况。所以,C++11加入了nullptr,可以保证在任何情况下都代表空指针。
NULL在C语言中是(void * )0,在C++中却是0。这是因为在C++中void * 类型是不允许隐式转换成其他指针类型的,所以之前C++中用0来代表空指针。但是,在重载整型和指针的情况下,会出现匹配错误的情况。所以,C++11加入了nullptr,可以保证在任何情况下都代表空指针。