C/C++中new关键字是否加括号的区别

代码:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class A{
 6     public:
 7         int a;
 8 };
 9 
10 int main(){
11 
12     A *a1 = new A;
13     A *a2 = new A();
14     cout<<a1->a<<endl;
15     cout<<a2->a<<endl;
16 
17     A a3;
18     cout<<a3.a<<endl;
19 
20     return 0;
21 }

输出:

0
0
4196736

 分析:

可以参考https://www.zhihu.com/question/35843839

需要注意的是下列两行代码的区别

1 A a;
2 A a();

前者新建一个对象,后者声明了一个函数。

转载于:https://www.cnblogs.com/hu983/p/5513699.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值