【发布时间】:2013-03-18 09:21:43
【问题描述】:
我在源码中发现了如下构造:
variable_type variable_name{func(arg1, arg2, arg3)};
在下一个版本的代码中,这个结构被下面的替代了:
variable_type variable_name = func(arg1, arg2, arg3);
所以,我的问题是第一行是什么意思,它与第二行有什么不同?我也想知道为什么使用第一行而不是第二行可能更好或更差?
【问题讨论】:
-
这种情况下也是一样的。见here
-
@Mat 我认为这不是正确的副本,因为它处理带有 initializer_list 构造函数的类。
-
具体情况取决于
variable_type的构造函数和func的返回类型。