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

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

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

2019-11-11 07:50:44
字體:
供稿:網(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ū)別。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 怀宁县| 开鲁县| 张掖市| 敖汉旗| 安国市| 赞皇县| 江永县| 陵水| 金门县| 关岭| 元江| 阿图什市| 盐城市| 昆山市| 休宁县| 大姚县| 铜川市| 诸暨市| 封丘县| 南宫市| 潮安县| 军事| 涟源市| 长阳| 通州市| 鞍山市| 平阴县| 新田县| 平江县| 明星| 临沧市| 康马县| 静海县| 观塘区| 丰县| 吉水县| 岱山县| 个旧市| 通渭县| 神农架林区| 兴隆县|