[英]C++ Heap and Stack Memory ( memory managment )
所以目前我一直在使用指针,现在我知道如何使用它们以及它们在哪里赚钱,但仍然有一个问题一直困扰着我。 为什么我想要一些东西在堆里,一些在栈里?
当我们声明一个指针时,变量和地址保留在堆栈中,但特定的指针地址指向该值。 好吧,但我为什么要这样做? 为什么我不应该只声明一个普通变量? 什么时候必须使用动态 memory 分配?
堆 memory '活着'直到你调用delete
(或delete[]
),堆栈 memory 只存在直到你退出声明它的 scope 。 这就是区别。
好吧,这完全取决于您和您的应用程序。
堆栈的使用 如果您确切地知道在编译时需要分配多少数据并且它不太大,那么您将使用堆栈。
堆的使用:如果您不知道运行时需要多少数据或者需要分配大量数据,则可以使用堆。
您也可以参考下面的链接更详细
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.