在C ++中初始化结构的语法是什么?

时间:2011-02-06 08:19:13

标签: c++ syntax constructor struct

我可以构建一个构造函数来以这种方式初始化结构:

mystruct struct1(a,b); 

与初始化类的方式相同吗?

或者我必须这样使用:

mystruct struct1=mystruct(a,b);  

3 个答案:

答案 0 :(得分:4)

您可以使用与class相同的语法。在C ++中,它们之间没有区别,除了public的{​​{1}}和struct的{​​{1}}之外的默认访问说明符。有关详细说明,请参见此处:Difference between struct and class

答案 1 :(得分:2)

在C ++中,结构和类之间没有区别,除了默认情况下数据成员在struct的情况下是公共的,在class的情况下是私有的。

此外,C ++中有两种常见的对象初始化模式

1) Direct Initialization
2) Copy Initialization

答案 2 :(得分:0)

两种方式都有效。你可以做任何一种方式。