为什么我们需要在堆中创建一个对象
Why do we need to create an object in heap?
为什么我们可以将堆栈用于我们的所有需求?
注意:如果您在解释时举一个例子,那将是非常好的,因为用示例更容易理解。
对不起,英语不好。
实际上,呼叫堆栈有限且小。典型的极限是一些兆字节。相比之下,您通常可以在堆内存中分配千兆字节。
(在某些系统上,您可以配置系统以具有较大的堆栈;但是您需要告诉用户是否需要(
也是,最重要的是,呼叫堆栈是一个堆栈,因此Lifo(最后一次(学科也是如此。在许多情况下,您想以与其分配无关的顺序发布对象,或者只是在"首先分配,首先销毁"顺序(这是不可能的(。
考虑阅读有关垃圾收集的内容,例如GC手册。它教您有关动态内存分配的有用概念和术语(即使对于具有手动内存管理的C程序(。还请阅读有关过程的虚拟地址空间(也是如此,至少对于Linux(。
(。动态内存分配的另一个优点是,相同的可执行文件可以在各种计算机上运行(具有各种资源,尤其是不同量的RAM(,但无法处理相同数量的数据。如果您必须从静态分配所有内存,则不会是这种情况(例如,具有50 GB静态数据的C程序甚至无法在我的笔记本电脑上启动(。
相关文章:
- 如何创建一个对象创建函数,该函数将由与其关联的名称调用?
- 我如何仅一次或一次创建一个对象
- 为什么我们需要在堆中创建一个对象
- 我是否要创建一个对象来使用C 中的类方法
- 在C 中,您可以创建一个对象作为arg function
- 在矢量内创建一个对象,该对象由另一个对象包含
- 在c++中有条件地创建一个对象
- Qt C++根据组合框中的选择创建一个对象
- 如果对象尚未在集合中,则创建一个对象
- 在一个线程中创建一个对象,并使用std :: Atomic访问另一个对象
- 如果我在析构函数中创建一个对象,会发生什么
- 而不是在 lua 中创建一个对象,如何让 lua 直接高C++对象来启动方法?
- 销毁和重新创建一个对象会使指向该对象的所有指针无效吗
- C++:创建一个对象数组
- 我想在我的main中为下面的代码创建一个对象..那么我该怎么做呢
- 自定义内存管理,用于在文件中每行创建一个对象
- 是否可以在一个对象中创建一个对象,该对象的构造函数是在c++中创建它的对象
- 从另一个字符串向量创建一个对象向量
- 我必须创建一个对象来调用类方法吗?或者我可以只键入类名吗
- 用c++中的模板创建一个对象