日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

new和delete底层解析

發布時間:2025/4/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 new和delete底层解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

new和delete底層解析

2018年04月05日 10:26:44?龍躍十二?閱讀數:205?標簽:?C++newdelete?更多

個人分類:?C++

所屬專欄:?C++

版權聲明:本文為博主原創文章,轉載請私信博主。 https://blog.csdn.net/qq_38646470/article/details/79824464

?

  • 1.new/delete 和operator new/operator delete和malloc/free的關系
  • 2.new時底層處理的機制
  • 3.new/delete和malloc/free的區別

?

1.new/delete 和operator new/operator delete和malloc/free的關系

先寫個栗子看看new和delete的用法:

int main() {int *p0 = new int;int *p1 = new int(10);int *p2 = new int[10];int *p3 = (int *)malloc(sizeof(int)*10);delete p0;delete p1;delete[] p2;free(p3);return 0; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13


再看看他們之間的關系:?

2.new時底層處理的機制

3.new/delete和malloc/free的區別

1)malloc/free是C/C++語言的標準庫函數,new/delete是C++的運算符

????malloc與free是C++/C 語言的標準庫函數,new/delete 是C++的運算符。對于非內部數據類的對象而言,光用maloc/free 無法滿足動態對象的要求。對象在創建的同時要自動執行構造函數, 對象消亡之前要自動執行析構函數。由于malloc/free 是庫函數而不是運算符,不在編譯器控制權限之內,不能夠把執行構造函數和析構函數的任務強加malloc/free。?
2)用法上也有所不同。

函數malloc 的原型如下:?
void * malloc(size_t size);?
● malloc 申請一塊長度為size 個字節?
● malloc 返回值的類型是void?,所以在調用malloc 時要顯式地進行類型轉換,將void?轉換成所需要的指針類型。?
● malloc 函數本身并不識別要申請的內存是什么類型,它只關心內存的總字節數。?
函數free 的原型如下:?
void free( void * memblock );?
● 如果p 是NULL 指針,那么free對p 無論操作多少次都不會出問題。?
● 如果p 不是NULL 指針,那么free 對p連續操作兩次就會導致程序運行錯誤。

運算符new 使用起來要比函數malloc 簡單得多,例如:?
int?p1 = (int?)malloc(size);?
int *p2 = new int[size];?
● new 內置了sizeof、類型轉換和類型安全檢查功能。?
● 對于非內部數據類型的對象而言,new 在創建動態對象的同時完成了初始化工作。?
● 如果對象有多個構造函數,那么new 的語句也可以有多種形式。

在用delete 釋放對象數組時,留意不要丟了符號‘[]’。例如?
● delete []p2; // 正確的用法?
● delete p2; // 錯誤的用法?
后者相當于delete p2[0],漏掉了另外size-1個對象。

說來說去我們要明白new的底層是調用malloc,delete底層調用的是free。在c++中我們使用時要明白二者的區別和聯系。在使用new時一定用delete釋放,用malloc時一定用free釋放,這樣匹配防止程序以外崩潰。

總結

以上是生活随笔為你收集整理的new和delete底层解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久99精品成人片三人毛片 | 深夜视频在线免费观看 | 天天综合天天色 | 丝袜制服一区 | a国产在线 | 欧美精品黑人猛交高潮 | 91在线影院 | 麻豆网| 蜜桃视频无码区在线观看 | 欧美嫩交 | 亚洲免费福利 | 日本一区二区在线 | 日剧再来一次第十集 | 男人的天堂va | av片网| 欧美一级性视频 | 一级黄色短视频 | 污网在线观看 | 告诉我真相俄剧在线观看 | 在线观看免费中文字幕 | 欧美大片在线观看 | 污污内射在线观看一区二区少妇 | 1000部av| 先锋av资源网站 | 性xxx欧美| 欧美激情啪啪 | 少妇裸体性生交 | 三级网站免费观看 | 亚洲a视频在线 | 91黄在线看 | 日韩一区二区在线观看视频 | 在线天堂中文 | 天天色综合久久 | 午夜影院在线观看免费 | 亚洲一区天堂 | 国产成人亚洲欧洲在线 | 日本护士体内she精2xxx | 精品国产一区二区三区四区精华 | 无码国产精品一区二区色情男同 | 久久久999| 黄网在线免费看 | 久久99热久久99精品 | 午夜免费福利在线 | 特级西西444www高清大胆 | 97人人人 | 小视频免费在线观看 | ass东方小嫩模pics | 美国一级大黄一片免费中文 | 爱啪啪av | 91视频在线 | 在线观看日批视频 | 在线黄色免费网站 | 日本少妇一区二区三区 | 可以免费看的毛片 | 欧美在线免费视频 | 久久综合免费视频 | 亚洲专区中文字幕 | 亚洲欧美日韩中文在线 | 日日操狠狠操 | 久久精品二区 | 男女被到爽流尿 | 性史性农村dvd毛片 日韩精品在线视频观看 | 少妇15p | 七仙女欲春2一级裸体片 | 成人av免费在线观看 | 夫妻性生活黄色大片 | 天天躁日日躁aaaxxⅹ | 欧美日韩精品在线观看 | 欧美成人猛片aaaaaaa | 久久亚洲精华国产精华液 | 偷偷操不一样 | 稀缺呦国内精品呦 | 台湾佬美性中文娱乐 | 欧美午夜一区二区三区 | 69毛片| 男女曰逼视频 | 国产97色在线 | www污网站| 国产一区二区自拍视频 | av图片在线观看 | 日本在线资源 | 国产一极片 | 91av视频网站| 中文字幕丰满乱子伦无码专区 | www.黄色片网站 | 久久久午夜精品福利内容 | 一区二区视频播放 | 中国女人高潮hd | 蜜色影院 | 男人视频网站 | 亚洲欧美乱综合图片区小说区 | 在线视频区 | 亚洲视频456 | 视频在线观看91 | 中文字幕免费 | 欧美丰满艳妇bbwbbw | 尤物久久 | 欧美日韩国产中文字幕 | 亚洲精品123区 |