静态创建和动态创建对象的区别
发布日期:2021-05-09 00:20:34 浏览次数:18 分类:博客文章

本文共 2427 字,大约阅读时间需要 8 分钟。

���.������������

������������������������������������������������,������A a;������������������������������������������������.

������������������������������������������������,������������������������������������������.������A *pa = new A();������������������������delete���.���������������delete������,���������������������������,���OS������������.

������������:

#include 
using namespace std;class Programmer{public: int m_nAge; string m_sLanguage; Programmer(int nAge, string sLanguage) { m_nAge = nAge; m_sLanguage = sLanguage; } Programmer() { cout << "Ctor" << endl; } ~Programmer() { cout << "Dtor" << endl; }};int main(){ //������������������������ Programmer pro(27, "C++"); //������������������������ Programmer * pPro = new Programmer(27, "C++"); delete pPro; return 0;}

���.���������������������������

���������������,������������������������,���������������������������������������,������������������������,���������������������������������?

������������������������������������������������������,���������������������������.

���������������������������������������,���������������������������������proTemp,������������������������������,���������������.���������������&proTemp������������������������������,���������������������������.������������������������.

������������������������������������,���������������������������.������������������������������������������������.

//class������         Programmer * GetProgrammer(int nAge, string sLanguage)    {        Programmer proTemp = Programmer(nAge, sLanguage);        return &proTemp;    }    Programmer * GetProgrammerNew(int nAge, string sLanguage)    {        Programmer *proTemp = new Programmer(nAge, sLanguage);        return proTemp;    }
//main���������     //��������������������������� //������������������������������������,���������������������������������(������������������������)    Programmer * pProTemp = pro.GetProgrammer(27, "C++");    cout << "age:" << pProTemp->m_nAge << endl;    cout << "Language:" << pProTemp->m_sLanguage << endl;    //���������������������������    Programmer * pProTempNew = pro.GetProgrammerNew(27, "C++");    cout << "age:" << pProTempNew->m_nAge << endl;    cout << "Language:" << pProTempNew->m_sLanguage << endl;     delete pProTempNew;

 

������������:  (malloc������������������������,������malloc������new���������������)

上一篇:MFC的多线程同步和互斥
下一篇:vector相关操作总结

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月14日 03时46分45秒