构造函数中调用构造函数new和delete使用小结
生活随笔
收集整理的這篇文章主要介紹了
构造函数中调用构造函数new和delete使用小结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
malloc free 是C語言的函數
new delete 是C++的操作符
new和delete的新增的功能
#include <iostream> using namespace std;// C /C++ malloc free // new delete 操作符 C++的語法// 基礎類型變量 分配數組變量 分配對象 //int main06() {//分配數組 C語言中int *p = (int *) malloc(sizeof(int )*10);p[0] = 10;cout << p[0] << endl;free(p);int *pArray = new int[10];pArray[0] = 22;cout << "pArray[0] = " << pArray[0] << endl;delete [] pArray; //刪除數組的正確方法 要加上 []cout << "hello world!" << endl;system("pause");return 0; }class Tea { public:Tea(int _a){a = _a;cout << "這是一個構造函數" << endl;}~Tea(){cout <<"這是一個析構函數" << endl;} protected: private:int a; };void playboy() {Tea *pT1 = (Tea *)malloc(sizeof(Tea));if(pT1 != NULL){free(pT1);}Tea *pT2 = new Tea(10); ///調用構造函數delete pT2; //delete會調用析構函數 } //分配對象 ////////////////////////////////////////////////////////////////////////////new 可以執(zhí)行 構造函數 //delete 函數可以執(zhí)行函數的析構函數 ////////////////////////////////////////////////////////////////////////// int main() {playboy();cout << "hello world!" << endl;system("pause");return 0; }malloc free 和 new delete 在使用基礎數據的時候是可以混搭
在使用類的對象的時候 malloc不會調用構造函數
free 不會調用析構函數
總結
以上是生活随笔為你收集整理的构造函数中调用构造函数new和delete使用小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于领域知识的Docker镜像自动构建方
- 下一篇: 面向数据自治开放的数据盒模型