亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C+中的堆棧、靜態和堆

C+中的堆棧、靜態和堆

C++
慕尼黑5688855 2019-06-26 15:15:57
C+中的堆棧、靜態和堆我已經搜索過了,但我還沒有很好地理解這三個概念。我什么時候必須使用動態分配(在堆中),它的真正優勢是什么?靜態和堆棧的問題是什么?我可以在不分配堆變量的情況下編寫整個應用程序嗎?我聽說其他語言都包含了“垃圾收集器”,所以您不必擔心內存問題。垃圾收集器是做什么的?你能用這個垃圾收集器自己操作你不能做的內存嗎?有一次有人這樣對我說:int * asafe=new int;我有一個“指針指向指針”。什么意思?其不同之處在于:asafe=new int;?
查看完整描述

3 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

有人詳細地說過,就像“簡短的答案”一樣:

  • 靜態變量(類)
    生存期=程序運行時(1)
    可見性=由訪問修飾符(私有/受保護/公共)確定

  • 靜態變量(全局范圍)
    生存期=程序運行時(1)
    可見性=它在(2)中實例化的編譯單元。

  • 堆變量
    生存期=由您定義(新刪除)
    可見性=由您定義(無論您將指針分配給什么)

  • 堆棧變量
    可見性=從聲明到范圍退出
    生存期=從聲明到退出聲明范圍


(1)更準確地說:從初始化到重新初始化編譯單元(即C/C+文件)。標準沒有定義編譯單元的初始化順序。

(2)注意:如果在標頭中實例化靜態變量,每個編譯單元都會得到自己的副本。


查看完整回答
反對 回復 2019-06-26
  • 3 回答
  • 0 關注
  • 375 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號