C++複習(第三節)堆和棧

 

總結:函數

     從上面能夠看出,棧的內存小,可是效率高,不過存儲的數據只在函數內有效,超出函數就消失了,堆的可存儲空間很是大,但容易產生內存碎片,效率也較低,其優勢是靈活性比較高。好比說咱們須要建立一個對象,可以被多個函數所訪問,可是又不想使其成爲全局的,那麼這個時候建立一個堆對象無疑是個較好的選擇。大數據

因爲堆和棧各有優缺點,所以好多時候咱們是將堆和棧結合起來使用的,好比在存儲一些較大數據的時候,咱們將數據存放到堆中,卻將指向該數據的指針放到棧中,這樣能夠有效地提升程序的執行速度,避免產生一些不應有的碎片。不過,通常來講,只有不是特大的數據,咱們都使用棧,好比函數調用過程當中的參數,返回地址和局部變量都存放到棧中,這樣能夠大大加快程序運行的速度3d

相關文章
相關標籤/搜索