【发布时间】:2020-01-20 19:09:53
【问题描述】:
我只是遇到了一些代码,我相信我从未见过下面显示的语法。
struct A {
int m_int;
A (int a = int {}) : m_int(a) {}
};
所以很明显构造函数接受一个整数,按值,即int a,后跟赋值运算符和类型int,空括号和右括号关闭。我无法破译后半部分(int {})。 int a = int {} 是什么意思?请指导我了解更多信息。我该如何解决?
谢谢你, 高拉夫
【问题讨论】:
-
示例中没有赋值运算符。
-
一个临时值在此处初始化为 0,然后将该值复制到参数中。
-
int a = int {}中的第二个int是多余的。int a = {}做同样的事情。 -
感谢@Maestro。这样做对我们有什么好处。这对我们有什么特别的帮助吗?
标签: c++ syntax constructor