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

来源:6-4 二叉树编码实战(四)

徐有容迷妹

2020-04-13 12:54

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

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


写回答 关注

1回答

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

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

数据结构探险之树篇

树,将为你开启更精彩的数据结构大门,了解更多概念

56461 学习 · 116 问题

查看课程

相似问题