相关疑难解决方法(0)

为什么我不需要检查引用是否无效/ null?

阅读http://www.cprogramming.com/tutorial/references.html,它说:

通常,引用应始终有效,因为您必须始终初始化引用.这意味着除了一些奇怪的情况(见下文),您可以确定使用引用就像使用普通的旧非引用变量一样.您不需要检查以确保引用未指向NULL,并且您不会被未初始化的引用所困扰,您忘记为其分配内存.

我的问题是如何知道在初始化引用后对象的内存未被释放/删除.

它归结为我不能在信仰上接受这个建议,我需要一个更好的解释.

任何人都能解释一下吗?

c++ null reference

36
推荐指数
3
解决办法
3万
查看次数

指向Null对象的引用

我看到了这个讨论 - 在C++中检查一个空对象,我很惊讶没有人谈论何时引用可以指向一个null对象.在我们的代码中,我们经常使用null对象.有如下函数返回nullObj.

const Obj&  
nullObj()  
{  
   static obj* nullPtr = NULL;   
   return static_cast<  const Obj&>(*nullPtr);    
}  
Run Code Online (Sandbox Code Playgroud)

实际上,当我再次查看代码以提出这个主题时,我对上面的代码如何工作有一些疑问:

  1. 怎么可能这样做*nullPtr- 是不是因为nullPtr是一个静态对象,它在堆上分配内存,因此保证有一些空间和

  2. 由于我们返回对obj的const引用,编译器是否创建了一个临时对象(某种类型的nullObj ??)或者const引用是否作为nullPtr本身的别名?

c++ null pointers reference object

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×2

null ×2

reference ×2

object ×1

pointers ×1