本文介绍了为什么C ++中的Destructor以与初始化相反的顺序取消分配内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以相反的顺序将内存分配给变量有什么好处?

What is the advantage in de-allocating memory in reverse order to variables?

推荐答案

请考虑以下示例:

Type1 Object1;
Type2 Object2(Object1);

假设Object2使用Object1的一些内部资源,并且只要Object1有效,该资​​源就有效.例如,Object2的析构函数访问Object1的内部资源.如果不是为了保证销毁的反向顺序,那将导致问题.

Suppose that Object2 uses some internal resources of Object1 and is valid as long as Object1 is valid. For example, Object2s destructor accesses Object1's internal resource. If it weren't for the guarantee of reverse order of destruction, this would lead to problems.

这篇关于为什么C ++中的Destructor以与初始化相反的顺序取消分配内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 13:46