1樓:湛藍水晶
這些是編譯期的靜態資料,不用釋放的。記憶體管理記住乙個原則:
誰new的誰delete,誰malloc的誰free.
你的兩個例子都不是動態分配記憶體,不用釋放
2樓:花生and奶牛
char *a="asdfasdfasdf" 是定義字串常量是乙個常量 他儲存在靜態儲存區上直到程式結束後系統自動釋放它所佔用的記憶體單元.不需要人為的釋放.
而普通的變數像你說的int a =10;這樣的定義它總是儲存在棧上的只是生存週期的不同,如果定義在程式開頭那麼它的生存週期是整個程式,直到程式結束後系統才釋放它所佔住的單元,如果是定義在函式內包過形參,或復合語句內,那麼它的生存週期出了這個函式(函式呼叫結束)和復合語句,系統就會釋放它所佔用的單元,棧上的東西是無法自己去釋放它,除非是自己動態分配的才可以的.
3樓:匿名使用者
char *a="asdfasdfasdf" 定義的物件視其所在的域,存放在程式對應的 棧 (stack)上面,棧是靜態儲存空間,其管理由編譯器負責。所以他不能被使用者釋放。
c++如何進行記憶體管理
4樓:南瓜豬的的的
底層 new/delete malloc/free中層 智慧型指標
高階 享元模式
高階 記憶體池 緩衝區 快取區 .......
如何用c++實現對記憶體的管理
c++申請記憶體,若是耗盡系統記憶體,會怎樣
5樓:匿名使用者
推薦看看這個:https://zhidao.
寫個死迴圈程式,裡面不斷申請記憶體(每次申請乙個大記憶體),就能看到結果了。
關於c++和python中記憶體管理技術的不同
6樓:上_善_下_流
c++:自己申請,自己要記得釋放,不然容易出現野指標,有記憶體洩漏風險。
python:有python直譯器管理,會自動**不再使用的記憶體空間。
7樓:匿名使用者
乙個記憶體管理自己做乙個交給系統作
c++中怎麼運用動態記憶體分配
8樓:傷之儡
給你講個簡單例子
int*p;
p=new int(0);//分配乙個整形的儲存空間把位址返回給指標p,並用0初始化這個空間。
delete p;//釋放該記憶體。
p= new int;//分配乙個能儲存10個整形數的儲存空間(陣列)。
delete 【】p;//釋放該存放陣列的記憶體空間。
c語言記憶體分配問題,C語言記憶體分配問題
這個就要知道函式的工作原理了,你在呼叫malloc的時候建立了乙個p的副本presult此時,presult null 然後執行presult int malloc isize 那麼presult被賦值為動態記憶體的首位址malloc結束時presult又被 所以p的值又沒有相應改變。沒有用的,這樣...
怎樣清理電腦記憶體?電腦c盤記憶體怎樣清理
一 電腦在使用過程中,因為新增 刪除軟體和上網衝浪等,硬碟中會產生各種各樣的垃圾檔案,垃圾檔案多了不僅佔用硬碟空間,還會拖累機器的執行速度,所以要隨時對磁碟進行清理,以釋放被佔用的磁碟空間。二 深度清理不是格式化磁碟,是說對磁碟進全面清理,方法有 方法一 用系統自帶清理工具清理。1 在桌面雙擊 計算...
C盤實際佔用記憶體比顯示記憶體佔用少的多
1 c盤即作業系統所在盤有很多隱藏檔案以及系統檔案是隱藏的。預設情況下是不顯示的。這部份檔案佔用的磁碟空間也不小。2 一般來說作業系統所在盤有以下隱藏檔案,一是虛擬記憶體 大小數g 二是休眠檔案 大小與系統安裝的記憶體容量大小一致 此外還有programdata資料夾也是隱藏的。3 可開啟我的電腦的...