无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

析構(gòu)函數(shù)

2023-02-07 14:28 作者:江不默  | 我要投稿

/*

析構(gòu)函數(shù)(destructor) :

與構(gòu)造函數(shù)相反,當(dāng)對象結(jié)束其生命周期,

如對象所在的函數(shù)已調(diào)用完畢時(shí),系統(tǒng)自動(dòng)執(zhí)行析構(gòu)函數(shù)。


析構(gòu)函數(shù)往往用來做“清理善后” 的工作

(例如在建立對象時(shí)用new開辟了一片內(nèi)存空間,

delete會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)后釋放內(nèi)存)。

1.不能有參數(shù) , 所以不可重載

2.無返回值


3.當(dāng)類中含有指針時(shí)?

delete 該類的一個(gè) 對象,不會(huì)撤銷里面指針?biāo)傅目臻g,但析構(gòu)函數(shù)可以


所以 析構(gòu)函數(shù)三法則:

有復(fù)制構(gòu)造函數(shù)和賦值運(yùn)算符重載(例如將=的功能變成深復(fù)制),需要析構(gòu)函數(shù)?

*/


/*

c++中delete和析構(gòu)函數(shù)之間的區(qū)別:

https://www.cnblogs.com/qbdj/p/10882213.html

*/

#include<iostream>

using namespace std;

class CDemo {

public:

? ? ~CDemo() {? //析構(gòu)函數(shù)

? ? ? ? cout << "Destructor called"<<endl;

? ? }

};

int main() {

? ? CDemo array[2];? //構(gòu)造函數(shù)調(diào)用2次

? ? CDemo* pTest = new CDemo;? //構(gòu)造函數(shù)調(diào)用

? ? delete pTest;? //析構(gòu)函數(shù)調(diào)用

? ? cout << "-----------------------" << endl;

? ? pTest = new CDemo[2];? //構(gòu)造函數(shù)調(diào)用2次

? ? delete[] pTest;? //析構(gòu)函數(shù)調(diào)用2次

? ? cout << "Main ends." << endl;

? ? return 0;

}


析構(gòu)函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
马尔康县| 沁水县| 张掖市| 东源县| 新巴尔虎右旗| 泰安市| 仁寿县| 浦北县| 霍山县| 民权县| 安吉县| 林口县| 福海县| 渭南市| 且末县| 嘉黎县| 广州市| 巴彦淖尔市| 蓝田县| 明溪县| 陕西省| 且末县| 温泉县| 吴川市| 迁安市| 含山县| 会理县| 嵩明县| 隆尧县| 涟源市| 林周县| 沾化县| 思茅市| 丰原市| 普洱| 大连市| 宁阳县| 内丘县| 普宁市| 利津县| 潍坊市|