VC 类 定义实例对象时的一个简单的问题
CMyPerson是一个类然后CMyPerson*aPerson;和CMyPerson*aPerson=newCMyPerson();上面两种方式的区别是什么呢?...
CMyPerson是一个类
然后
CMyPerson *aPerson; 和CMyPerson *aPerson = new CMyPerson();
上面两种方式的区别是什么呢? 展开
然后
CMyPerson *aPerson; 和CMyPerson *aPerson = new CMyPerson();
上面两种方式的区别是什么呢? 展开
1个回答
展开全部
CMyPerson *aPerson ; 是定义一个指针,没有初始值
CMyPerson *aPerson = new CMyPerson(); 先定义一个指针,再调用函数 new 申请一块大小为 sizeof(CMyPerson) 的内存 (如果CMyPerson 是 class 类型 还会隐性调用CMyPerson()进行初始化) , 再然后把刚刚申请的内存赋值到aPerson 指针.
主要区别就像 int *a; 与 int *a=new int; 之间的区别.
CMyPerson *aPerson = new CMyPerson(); 先定义一个指针,再调用函数 new 申请一块大小为 sizeof(CMyPerson) 的内存 (如果CMyPerson 是 class 类型 还会隐性调用CMyPerson()进行初始化) , 再然后把刚刚申请的内存赋值到aPerson 指针.
主要区别就像 int *a; 与 int *a=new int; 之间的区别.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询