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

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

new delete 基礎應用

2019-11-11 07:13:45
字體:
來源:轉載
供稿:網友

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他們組成是要自動調用構造函數還有析構函數的。如果是基礎的類型的話這兩者基本上沒有區別。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台江县| 上饶县| 顺平县| 左云县| 松江区| 如东县| 永嘉县| 佳木斯市| 都江堰市| 河北省| 明水县| 定兴县| 尖扎县| 福州市| 林西县| 曲沃县| 皮山县| 高邑县| 吴川市| 青神县| 广丰县| 琼中| 霞浦县| 长白| 玉林市| 军事| 繁峙县| 乌海市| 通道| 灵武市| 昌宁县| 紫金县| 桂东县| 茶陵县| 池州市| 精河县| 清苑县| 五家渠市| 焦作市| 从化市| 元阳县|