首页 > 解决方案 > nullptr 与零相同吗?

问题描述

我目前正在学习 C++ 并获得了指针。我正在努力理解将指针初始化为零和将其初始化为 nullptr 之间的区别,如下所示。

int *p = 0;
int *p1 = nullptr;

我的理解是 p 和 p1 都是空指针。这是否意味着 nullptr 等价于零,并且 p 和 p1 都指向同一个地址(即零的地址)?

如果它们是相同的,我为什么要使用 nullptr 而我只能使用零?如果它们不一样,为什么有多种方式来声明空指针而不是一种方式是有用的?

标签: c++

解决方案


推荐阅读