21xrx.com
2024-12-22 23:32:04 Sunday
登录
文章检索 我的文章 写文章
C++中如何表示NULL
2023-07-05 03:43:53 深夜i     --     --
C++ 表示 NULL 指针 常量

在C ++编程中,NULL是一个特殊的值,表示指针不指向任何有效的内存位置。在C ++11标准之前,使用NULL来表示空指针,但现在推荐使用关键字nullptr来代替。在C ++中定义NULL有两种方法,具体如下。

方法一:使用预处理器宏

在C ++程序中,可以使用预处理器宏#define NULL 0将0定义为NULL。这意味着将为指针赋值0时,该指针被认为是空指针。例如:


#include <iostream>

#define NULL 0

int main() {

  int* ptr = NULL;

  if(ptr == NULL)

    std::cout << "ptr is a null pointer" << std::endl;

   else

    std::cout << "ptr is not a null pointer" << std::endl;

  

  return 0;

}

输出结果为:ptr is a null pointer

方法二:使用nullptr关键字

C ++11标准引入了一个新的关键字nullptr,它被设计用于代替NULL。与NULL不同的是,nullptr是一个关键字,而不是一个宏,并且能够提供更好的类型安全性。例如:


#include <iostream>

int main() {

  int* ptr = nullptr;

  if (ptr == nullptr)

    std::cout << "ptr is a null pointer" << std::endl;

   else

    std::cout << "ptr is not a null pointer" << std::endl;

  

  return 0;

}

由于nullptr是一个关键字,编译器能够确定指针类型,并防止将非指针类型赋值给它。如果运行此程序,输出将与上一个程序相同。

综上所述,C ++中有两种方法来表示空指针:使用预处理器宏NULL或使用关键字nullptr。在新的代码中推荐使用nullptr代替NULL,因为它提供了更好的类型安全性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复