问答详情
源自:6-4 二叉树编码实战(四)

学着有些糊涂了,想知道以下两种创建对象有什么区别?例子如下

比如如下类A的构造函数:

A(int x=3,int y=4)
{
key=x;
value=y;
}
A *p;//第一种
A  *q=new A( );//第二种
两种效果是一样的么,为什么很多时候感觉用第二种多?


提问者:徐有容迷妹 2020-04-13 12:54

个回答

  • weixin_慕函数7486106
    2020-05-17 14:43:11

    我的理解是第一种只是声明了一个指针p,该指针用来存储类A的地址,但并没有指向哪一个具体类,因为没有给他开辟可用的类A的空间。第二种是声明指针q的同时还在堆中开辟了一个新的可用的类A空间,并将该空间的起始地址赋值给q,相当于第一种形式的A *p;p=new A();这是我个人的理解,小白还望大佬指点?