我每个人都有一个简单的问题。以下代码有什么区别? (参见“带括号”和“没有括号”)
class class_a{
public:
int a_int;
class_a(){
a_int = 0;
}
}
int main( ... ){
class_a instance_a_first; // Without Parentheses
class_a instance_a_second(); // With Parentheses
}
答案 0 :(得分:4)
第一个定义一个名为* instance_a_first *的变量,类型为* class_a *。
第二个声明了一个名为* instance_a_second *的函数,该函数返回* class_a *对象并且不带参数。
与写作相同: -
int one;
VS
int func();
编辑:将第二句更改为声明而不是定义。