【发布时间】:2011-09-19 05:58:51
【问题描述】:
我看到了这个讨论 - Checking for a null object in C++,我很惊讶没有人谈论什么时候引用可以指向一个空对象。在我们的代码中,我们经常使用空对象。有如下函数返回 nullObj。
const Obj&
nullObj()
{
static obj* nullPtr = NULL;
return static_cast< const Obj&>(*nullPtr);
}
实际上,当我再次查看代码提出这个话题时,我对上面的代码是如何工作的有一些疑问:
怎么可能做到
*nullPtr- 是不是因为 nullPtr 是一个静态对象,它在堆上分配内存,因此保证有一些空间和
1234563
【问题讨论】:
-
糟糕...没注意到。哦,好吧,给他最后一个。
-
请让我们都知道您使用什么软件,这样我们就可以避免它。 “我们经常使用空对象”有点危险,因为不存在这样的事情......
-
仍然是个好问题,恕我直言。每个人都应该被允许问这种“我要朝自己的脚开枪”的问题。
-
@Dave:或者在这种情况下,“我已经多次向自己的脚开枪,但还没有摔倒”。
标签: c++ pointers object reference null