A *a=new A() ;和A *a=new A;有什么区别?

c++ 中这两种实例对象的方法有什么区别。好像都能编译通过
2025-03-01 18:31:34
推荐回答(2个)
回答1:

用new运算符创建动态对象的语法格式为:
对象指针 = new 类名(<初始值列表>);

当A的构造函数没有参数可以省略括号
所以当A构造函数没参数时,上面两个没区别~

回答2:

个人愚见:
A *a=new A() ;
显式调用A()构造函数实例化*a
A *a=new A;
隐式调用A()构造函数实例化*a