C++ new加、不加括号问题
问一个C++ new加括号和不加括号的问题
现在有一个自定义的类,如下代码:
class A{
public:
int a;
};
int main(){
A *a1 = new A;
A *a2 = new A();
cout << a1->a<<endl;
cout <<a2->a<<endl;
return 0;
}网上都说第一个输出是随机数,第二个是调用了合成默认构造,所以输出0。但是,实际我机器跑出来,两个都是0。怎么解释?
网上说对于内置类型如int,加括号说明分配内存并初始化为0,不加则只是单独分配内存。这个我验证过了,没有问题。
求指点。。
#笔试题目##C/C++#