NULL 和 nullptr
NULL和nullptr都是空指针常量,用于表示一个空指针。
-
NULL:在C语言中,NULL是一个宏定义,通常被定义为0或者(void*)0。在C++中,NULL也是一个宏定义,但通常被定义为0。因此,NULL可以被赋值给任何指针类型。
-
nullptr:在C++11中引入了nullptr关键字,用于表示一个空指针。nullptr是一个字面量,不是一个宏定义。它可以被隐式转换为任何指针类型。相比于NULL,nullptr具有更好的类型安全性,因为它不能被隐式转换为整数类型。
总结起来,如果你在使用C++11或更高版本的C++,建议使用nullptr来表示空指针;如果你在使用C语言或较早版本的C++,可以使用NULL来表示空指针。
原文地址: http://www.cveoy.top/t/topic/i0XM 著作权归作者所有。请勿转载和采集!