堆棧的區別

堆棧是系統使用是臨時存儲區域。它是後進先出的數據結構。
C++主要將堆棧用於函數調用。當函數調用時,各種數據被推入堆棧頂部;函數終止後的返回地址、傳遞給函數的參數、函數返回的結果以及函數中聲明的局部變量等等。因此當函數A調用函數B調用函數C,堆棧是增長了,但調用完成後,堆棧又縮小了。

是一種長期的存儲區域。程序用C++的new操作符分配堆。對new的調用 分配所需的內存並返回指向內存的指針。與堆棧不同,你必須通過調用new明確的分配堆內存。你也必須通過調用C++的delete操作符明確的釋放內存,堆不會自動釋放內存。


如果C++中的一個類是定義在堆棧上的,就使用"."開訪問它的成員。如果是定義在堆上的,就使用"->"指針來開訪問。 但在,"->"操作符也可以用在堆棧上的類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章