徐有容迷妹
2020-04-13 12:54
比如如下类A的构造函数:
A(int x=3,int y=4) { key=x; value=y; } A *p;//第一种 A *q=new A( );//第二种 两种效果是一样的么,为什么很多时候感觉用第二种多?
我的理解是第一种只是声明了一个指针p,该指针用来存储类A的地址,但并没有指向哪一个具体类,因为没有给他开辟可用的类A的空间。第二种是声明指针q的同时还在堆中开辟了一个新的可用的类A空间,并将该空间的起始地址赋值给q,相当于第一种形式的A *p;p=new A();这是我个人的理解,小白还望大佬指点?
数据结构探险之树篇
56461 学习 · 116 问题
相似问题