淺析c++中new和delete的用法
new和delete運(yùn)算符用于動(dòng)態(tài)分配和撤銷內(nèi)存的運(yùn)算符
new用法:
1.開辟單變量地址空間
1)new int; //開辟一個(gè)存放數(shù)組的存儲(chǔ)空間,返回一個(gè)指向該存儲(chǔ)空間的地址.int *a = new int 即為將一個(gè)int類型的地址賦值給整型指針a.
2)int *a = new int(5) 作用同上,但是同時(shí)將整數(shù)賦值為5
2. 開辟數(shù)組空間
一維: int *a = new int[100];開辟一個(gè)大小為100的整型數(shù)組空間
二維: int **a = new int[5][6]
三維及其以上:依此類推.
一般用法: new 類型 [初值]
delete用法:
1. int *a = new int;
delete a; //釋放單個(gè)int的空間
2.int *a = new int[5];
delete [] a; //釋放int數(shù)組空間
要訪問new所開辟的結(jié)構(gòu)體空間,無法直接通過變量名進(jìn)行,只能通過賦值的指針進(jìn)行訪問.
用new和delete可以動(dòng)態(tài)開辟,撤銷地址空間.在編程序時(shí),若用完一個(gè)變量(一般是暫時(shí)存儲(chǔ)的數(shù)組),下次需要再用,但卻又想省去重新初始化的功夫,可以在每次開始使用時(shí)開辟一個(gè)空間,在用完后撤銷它.
相關(guān)文章
VS中動(dòng)態(tài)庫的創(chuàng)建和調(diào)用方式詳解
庫的存在形式本質(zhì)上來說庫是一種可執(zhí)行代碼的二進(jìn)制,? 靜態(tài)庫和動(dòng)態(tài)庫的區(qū)別主要是在鏈接階段處理庫的方式不同而區(qū)分的,本文介紹VS中動(dòng)態(tài)庫的創(chuàng)建和調(diào)用方式,感興趣的朋友一起看看吧2024-01-01
C語言中交換int型變量的值及轉(zhuǎn)換為字符數(shù)組的方法
這篇文章主要介紹了C語言中交換int型變量的值及轉(zhuǎn)換為字符數(shù)組的方法,講解了以不同進(jìn)制將整型數(shù)字轉(zhuǎn)換成字符數(shù)組,需要的朋友可以參考下2016-04-04
C++實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)的示例代碼
停車場(chǎng)管理系統(tǒng)就是模擬停車場(chǎng)進(jìn)行車輛管理的系統(tǒng),該系統(tǒng)分為汽車信息模塊,用戶使用模塊和管理員用戶模塊,本文將用C++實(shí)現(xiàn)這一簡(jiǎn)單的系統(tǒng),希望對(duì)大家有所幫助2023-04-04
C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法
這篇文章主要介紹了C++ 關(guān)于 CMFCPropertyGridCtrl 的使用方法的相關(guān)資料,需要的朋友可以參考下2015-06-06
c語言輸出字符串中最大對(duì)稱子串長(zhǎng)度的3種解決方案
這篇文章主要介紹了c語言輸出字符串中最大對(duì)稱子串長(zhǎng)度的3種解決方案,需要的朋友可以參考下2014-03-03
C++基礎(chǔ)學(xué)習(xí)之利用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列
這篇文章主要給大家介紹了關(guān)于C++基礎(chǔ)學(xué)習(xí)之利用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

