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

首頁 > 學院 > 開發設計 > 正文

new delete 基礎應用

2019-11-14 09:34:34
字體:
來源:轉載
供稿:網友

new delete基礎

基礎應用

#include "iostream"using namespace std;int main(){	//1.基礎的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	free(p);	int *p2 = new int;	delete p2;	//分配數組	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;}這里面只需要注意一點就是基礎類型和數組類型的刪除區別就OK。

深入

1.區別
#include "iostream"using namespace std;class MyClass{public:	MyClass()	{		cout << "我是構造函數" << endl;	}	~MyClass()	{		cout << "我是析構函數" << endl;	}PRivate:};int main(){	//1.基礎的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	//free(p);	delete p;	int *p2 = new int;	//delete p2;	free(p2);	//分配數組	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);	//我們在這里發現如果我用malloc和用new創建的基礎對象在使用方面沒什么區別	//free和delete也可以相互的刪除new和malloc的內存	//區別在對象的時候不一樣	MyClass *my = (MyClass *)malloc(sizeof(MyClass));	system("pause");	return 0;}我們發現沒有執行構造函數。
#include "iostream"using namespace std;class MyClass{public:	MyClass()	{		cout << "我是構造函數" << endl;	}	~MyClass()	{		cout << "我是析構函數" << endl;	}private:};int main(){	//1.基礎的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	//free(p);	delete p;	int *p2 = new int;	//delete p2;	free(p2);	//分配數組	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);	//我們在這里發現如果我用malloc和用new創建的基礎對象在使用方面沒什么區別	//free和delete也可以相互的刪除new和malloc的內存	//區別在對象的時候不一樣	MyClass *my = (MyClass *)malloc(sizeof(MyClass));	MyClass *my1 = new MyClass();	system("pause");	return 0;}new的話可以執行構造函數
#include "iostream"using namespace std;class MyClass{public:	MyClass()	{		cout << "我是構造函數" << endl;	}	~MyClass()	{		cout << "我是析構函數" << endl;	}private:};int main(){	//1.基礎的使用	//new 基本類型	int *p = (int *)malloc(sizeof(int));	//free(p);	delete p;	int *p2 = new int;	//delete p2;	free(p2);	//分配數組	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);	//我們在這里發現如果我用malloc和用new創建的基礎對象在使用方面沒什么區別	//free和delete也可以相互的刪除new和malloc的內存	//區別在對象的時候不一樣	MyClass *my = (MyClass *)malloc(sizeof(MyClass));	free(my);	MyClass *my1 = new MyClass();	delete(my1);	system("pause");	return 0;}

總結

從以上的代碼中我們可以看出,malloc和free是不執行構造函數和析構函數的,但是new和delete他們組成是要自動調用構造函數還有析構函數的。如果是基礎的類型的話這兩者基本上沒有區別。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潮安县| 行唐县| 介休市| 威远县| 高青县| 安阳县| 贵州省| 南阳市| 新化县| 潍坊市| 阿鲁科尔沁旗| 关岭| 库伦旗| 湟中县| 霞浦县| 灵武市| 永新县| 西贡区| 陈巴尔虎旗| 务川| 玉山县| 泰来县| 静乐县| 焦作市| 桃园县| 景洪市| 环江| 青神县| 巩留县| 错那县| 沧州市| 屏东市| 平阴县| 酉阳| 洞口县| 定兴县| 陇西县| 慈利县| 佛山市| 鹰潭市| 双流县|