国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

new分配內(nèi)存

2019-11-14 11:46:04
字體:
供稿:網(wǎng)友

指針真正的用武之處在于,在運行階段分配未命名的內(nèi)存來儲存值,格式:

typeName * pointer_name = new typeName;

如:int * pn = new int;

new分配的內(nèi)存塊通常與常規(guī)變量聲明分配的內(nèi)存塊不同。變量存儲在棧(stack)中,new從被稱為堆(heap)或自由存儲區(qū)的內(nèi)存區(qū)域分配內(nèi)存。

使用完內(nèi)存后,需要將其歸還給內(nèi)存池:delete pn;

記住一定要配對地使用new和delete,否則將造成內(nèi)存泄漏。

不要使用delete釋放不是new分配的內(nèi)存,也不要嘗試釋放已經(jīng)釋放的內(nèi)存塊,C++標準指出,這樣的結(jié)果時不確定的。即不要delete兩次。不過,對空指針使用delete是安全的。

一般來說,不要創(chuàng)建兩個指向同一個內(nèi)存塊的指針,因為這將增加錯誤地刪除同一個內(nèi)存塊兩次的可能性。

使用new創(chuàng)建動態(tài)數(shù)組:

int * psome = new int [10]; //并返回第一個元素的地址

delete [] psome;

方括號告訴程序,應該釋放整個數(shù)組,而不僅僅是指針指向的元素。如果使用new時不帶方括號,則delete也不應用方括號;如果使用new時帶方括號,則delete時要帶方括號。

注意psome + 1算術代表一個單元,增加量等于它指向的類型的字節(jié)數(shù)。

string類內(nèi)置new和delete。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 淮阳县| 高雄市| 柳河县| 鹤峰县| 象山县| 开封县| 江阴市| 嘉禾县| 曲麻莱县| 新竹县| 平塘县| 承德县| 平泉县| 泸州市| 建瓯市| 阜新市| 南郑县| 延津县| 新疆| 本溪市| 开封市| 调兵山市| 安宁市| 奎屯市| 祁连县| 太原市| 达拉特旗| 通城县| 资溪县| 内乡县| 东阳市| 鄂温| 远安县| 浦江县| 茂名市| 庆阳市| 台北县| 洛南县| 阜康市| 大渡口区| 尼玛县|