NULL 和 nullptr 都是空指针常量,用于表示一个空指针。

  1. 'NULL':在 C 语言中,'NULL' 是一个宏定义,通常被定义为 0 或者 '(void*)0'。在 C++ 中,'NULL' 也是一个宏定义,但通常被定义为 0。因此,'NULL' 可以被赋值给任何指针类型。

  2. 'nullptr':在 C++11 中引入了 'nullptr' 关键字,用于表示一个空指针。'nullptr' 是一个字面量,不是一个宏定义。它可以被隐式转换为任何指针类型。相比于 'NULL','nullptr' 具有更好的类型安全性,因为它不能被隐式转换为整数类型。

总结起来,如果你在使用 C++11 或更高版本的 C++,建议使用 'nullptr' 来表示空指针;如果你在使用 C 语言或较早版本的 C++,可以使用 'NULL' 来表示空指针。

C++ 空指针:NULL vs nullptr 详解

原文地址: https://www.cveoy.top/t/topic/o568 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录