|
|
1
2
尽管您称之为C样式初始化,但它的正式名称是initializer list。只能使用初始值设定项列表初始化聚合(请参阅标准中的8.5)。 聚合是具有
|
|
|
2
9
|
|
|
3
3
很正常,“/Bar bar3(2,false,“so”,7.0);”不起作用,因为您没有用该签名定义构造函数。为了使其工作,您需要在类中定义一个具有该签名的构造函数。编译器只为您生成默认构造函数和默认复制构造函数,除非您自己声明它们。 |
|
|
4
2
与
|
|
|
5
0
Bar满足POD类型的要求,这意味着它可以像C结构一样初始化。作为一个类或结构对这个没有影响。 |
|
|
6
0
1.是的-你说的对。
你在说什么“特色”?只需重载构造函数以获得方法 |
|
|
7
0
众所周知,C++中的任何类都存在默认构造函数和默认复制构造函数,不管它们是否显式声明或不声明。我认为当您使用以下语法时会发生什么情况:
编译器推断出对象的类型,然后调用每个对象的默认构造函数,然后根据其在类定义中的位置分配每个字段。编译器无法调用默认的复制构造函数,因为在创建新对象时没有直接传递相同类型的对象,也就是说,应在以下情况下调用复制构造函数:
酒吧 类,然后调试以了解实际情况。。。 |
|
|
wavesinaroom · 断言结构向量长度 1 年前 |
|
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 2 年前 |
|
|
kamkow1 · 匿名结构的初始值设定项错误无效 2 年前 |