为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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


正在回答

1 回答

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信