中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

C++ 類的默認函數

2021-03-07    分類: 網站建設

對象創建(new)過程:

(1).通過operator new申請內存;

(2).使用placement new調用構造函數(簡單類型忽略此步);

(3).返回內存指針。

new和malloc的比較:

(1).new失敗時會調用new_handler處理函數,malloc不會,失敗時返回NULL;

(2).new能通過placement new自動調用對象的構造函數,malloc不會;

(3).new出來的東西是帶類型的,malloc是void*,需要強制轉換;

(4).new是C++運算符,malloc是C標準庫函數。

new的三種形態:new operator,operator new,placement new

(1).new operator:上面所說的new就是new operator,共有三個步驟組成(申請內存,調用構造函數,返回內存指針),對于申請內存步驟是通過運算符new(operator new)完成的,對于調用什么構造函數,可以由placement new決定;

(2).operator new:像普通運算符一樣可以被重載,operator new會去申請內存,申請失敗的時候會調用new_handler處理,這是一個循環的過程,如果new_handler不拋出異常,會一直循環申請內存,直到成功;

(3).placement new:用于定位構造函數,在指定的內存地址上用指定類型的構造函數構造對象。

對象銷毀(delete)過程:

(1).調用析構函數(簡單類型忽略此步);

(2).釋放內存。

delete和free比較

(1).delete能自動調用對象的析構函數,free不會;

(2).delete是C++運算符,free是C標準庫函數。

3、拷貝構造函數參數為什么必須使用類類型對象引用傳遞?

傳參的位置如果一直調用拷貝構造函數,也就是會遞歸引用,導致棧溢出。

4、賦值運算符重載函數為什么要避免自賦值?

(1).提高效率。自賦值無意義,如果自賦值,可以立即return *this;

(2).如果不避免,當類的數據成員中如果含有指針,自賦值時會造成內存泄漏。

分享題目:C++ 類的默認函數
本文鏈接:http://m.2m8n56k.cn/news/104650.html

成都網站建設公司_創新互聯,為您提供網站改版App開發移動網站建設建站公司搜索引擎優化動態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 日韩欧美在线一区二区三区 | 欧美精品成人久久网站 | 欧美日韩国产va另类 | 国产精品免费_区二区三区观看 | 92手机看片福利永久国产 | a免费毛片在线播放 | 成人欧美精品久久久久影院 | 久99久精品视频免费观看v | 国产在线爱做人成小视频 | 免费一级毛片不卡在线播放 | 色a在线 | 亚洲精品午夜 | 亚洲精品久 | 国产成人艳妇在线观看 | 成人综合婷婷国产精品久久免费 | 免看一级a毛片一片成人不卡 | 色日韩| 国产精品久久久久久久久免费观看 | 亚洲一级黄色毛片 | 黄a一级 | 久久国产精品女 | 一本色道久久88综合亚洲精品高清 | 久久99精品免费视频 | 欧美一级在线播放 | 在线观看中文字幕国产 | 亚洲欧美成人影院 | 特级毛片在线播放 | 日本加勒比在线播放 | 亚洲视频播放 | 欧美精品99 | av片免费大全在线观看不卡 | 亚洲欧美国产精品 | 国产丶欧美丶日韩丶不卡影视 | 呦女精品 | 精品国产欧美精品v | 69凹凸国产成人精品视频 | 国产乱码精品一区二区三区卡 | 国产精品黄在线观看观看 | 成人在线中文字幕 | 久久99国产一区二区三区 | 免费福利在线看黄网站 |