在 C++ 中正確使用棧和堆?
棧 - 在函式內宣告的所有變數都將佔用棧中的記憶體。因此,函式內的任何區域性變數都存活在棧中。
堆 - 這是程式的未使用記憶體,可在程式執行時用於動態分配記憶體。因此,如果我們想要某些東西比宣告它的函式存在更長時間,我們必須在堆上分配它。
示例
int main() {
int a; //get memory allocated on stack.
int *ptr=new int[7]; //memory for 7 integers allocated on heap.
}堆記憶體中的主要問題是碎片,而棧中更可能出現記憶體短缺問題。堆中的記憶體大小是可以更改的,而棧中的記憶體大小是無法更改的。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP