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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

new delete 基礎(chǔ)應(yīng)用

2019-11-14 08:59:31
字體:
供稿:網(wǎng)友

new delete基礎(chǔ)

基礎(chǔ)應(yīng)用

#include "iostream"using namespace std;int main(){	//1.基礎(chǔ)的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	free(p);	int *p2 = new int;	delete p2;	//分配數(shù)組	int *p3 = new int[4];	p3[0] = 1;	p3[1] = 2;	p3[2] = 2;	p3[3] = 3;	cout << p3[0] << endl;	delete[] p3;	system("pause");	return 0;}這里面只需要注意一點就是基礎(chǔ)類型和數(shù)組類型的刪除區(qū)別就OK。

深入

1.區(qū)別
#include "iostream"using namespace std;class MyClass{public:	MyClass()	{		cout << "我是構(gòu)造函數(shù)" << endl;	}	~MyClass()	{		cout << "我是析構(gòu)函數(shù)" << endl;	}PRivate:};int main(){	//1.基礎(chǔ)的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	//free(p);	delete p;	int *p2 = new int;	//delete p2;	free(p2);	//分配數(shù)組	int *p3 = new int[4];	p3[0] = 1;	p3[1] = 2;	p3[2] = 2;	p3[3] = 3;	cout << p3[0] << endl;	//delete[] p3;	free(p3);	//我們在這里發(fā)現(xiàn)如果我用malloc和用new創(chuàng)建的基礎(chǔ)對象在使用方面沒什么區(qū)別	//free和delete也可以相互的刪除new和malloc的內(nèi)存	//區(qū)別在對象的時候不一樣	MyClass *my = (MyClass *)malloc(sizeof(MyClass));	system("pause");	return 0;}我們發(fā)現(xiàn)沒有執(zhí)行構(gòu)造函數(shù)。
#include "iostream"using namespace std;class MyClass{public:	MyClass()	{		cout << "我是構(gòu)造函數(shù)" << endl;	}	~MyClass()	{		cout << "我是析構(gòu)函數(shù)" << endl;	}private:};int main(){	//1.基礎(chǔ)的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	//free(p);	delete p;	int *p2 = new int;	//delete p2;	free(p2);	//分配數(shù)組	int *p3 = new int[4];	p3[0] = 1;	p3[1] = 2;	p3[2] = 2;	p3[3] = 3;	cout << p3[0] << endl;	//delete[] p3;	free(p3);	//我們在這里發(fā)現(xiàn)如果我用malloc和用new創(chuàng)建的基礎(chǔ)對象在使用方面沒什么區(qū)別	//free和delete也可以相互的刪除new和malloc的內(nèi)存	//區(qū)別在對象的時候不一樣	MyClass *my = (MyClass *)malloc(sizeof(MyClass));	MyClass *my1 = new MyClass();	system("pause");	return 0;}new的話可以執(zhí)行構(gòu)造函數(shù)
#include "iostream"using namespace std;class MyClass{public:	MyClass()	{		cout << "我是構(gòu)造函數(shù)" << endl;	}	~MyClass()	{		cout << "我是析構(gòu)函數(shù)" << endl;	}private:};int main(){	//1.基礎(chǔ)的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	//free(p);	delete p;	int *p2 = new int;	//delete p2;	free(p2);	//分配數(shù)組	int *p3 = new int[4];	p3[0] = 1;	p3[1] = 2;	p3[2] = 2;	p3[3] = 3;	cout << p3[0] << endl;	//delete[] p3;	free(p3);	//我們在這里發(fā)現(xiàn)如果我用malloc和用new創(chuàng)建的基礎(chǔ)對象在使用方面沒什么區(qū)別	//free和delete也可以相互的刪除new和malloc的內(nèi)存	//區(qū)別在對象的時候不一樣	MyClass *my = (MyClass *)malloc(sizeof(MyClass));	free(my);	MyClass *my1 = new MyClass();	delete(my1);	system("pause");	return 0;}

總結(jié)

從以上的代碼中我們可以看出,malloc和free是不執(zhí)行構(gòu)造函數(shù)和析構(gòu)函數(shù)的,但是new和delete他們組成是要自動調(diào)用構(gòu)造函數(shù)還有析構(gòu)函數(shù)的。如果是基礎(chǔ)的類型的話這兩者基本上沒有區(qū)別。
上一篇:字符串排序

下一篇:貪心算法 nyoj1057

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙州县| 新余市| 车致| 博白县| 密山市| 金塔县| 林口县| 江安县| 会东县| 宜兰市| 鹤庆县| 松溪县| 竹山县| 台湾省| 东乌珠穆沁旗| 独山县| 彩票| 凌海市| 伊宁市| 桐柏县| 襄城县| 武汉市| 蒲城县| 五家渠市| 广水市| 泌阳县| 建阳市| 安化县| 新和县| 江油市| 凉山| 高碑店市| 射洪县| 杭锦后旗| 辽宁省| 三江| 金溪县| 长子县| 肇源县| 广元市| 同仁县|