繁体   English   中英

C++ 堆和栈 Memory(memory 管理)

[英]C++ Heap and Stack Memory ( memory managment )

所以目前我一直在使用指针,现在我知道如何使用它们以及它们在哪里赚钱,但仍然有一个问题一直困扰着我。 为什么我想要一些东西在堆里,一些在栈里?

当我们声明一个指针时,变量和地址保留在堆栈中,但特定的指针地址指向该值。 好吧,但我为什么要这样做? 为什么我不应该只声明一个普通变量? 什么时候必须使用动态 memory 分配?

堆 memory '活着'直到你调用delete (或delete[] ),堆栈 memory 只存在直到你退出声明它的 scope 。 这就是区别。

好吧,这完全取决于您和您的应用程序。

堆栈的使用 如果您确切地知道在编译时需要分配多少数据并且它不太大,那么您将使用堆栈。

堆的使用:如果您不知道运行时需要多少数据或者需要分配大量数据,则可以使用堆。

您也可以参考下面的链接更详细

堆栈和堆是什么以及在哪里?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM