我在源代码中找到了以下构造:
variable_type variable_name{func(arg1, arg2, arg3)};
在下一版本的代码中,此构造已被以下版本替换:
variable_type variable_name = func(arg1, arg2, arg3);
所以,我的问题是第一行是什么意思,它与第二行有什么不同?我也想知道为什么使用第一行而不是第二行可能更好或更糟?
答案 0 :(得分:1)
答案 1 :(得分:1)
第一行是来自C ++ 11的新功能,称为uniform initialization。这种初始化方式也可用于定义采用std::initializer_list
的构造函数的类,在这种情况下,这样的构造函数优先。