更新
我已通过链接(例如何时使用括号括起的初始化程序?)在何时应使用{}
括号初始化进行了了解,但未提供有关何时应使用括号( )
对初始化{ }
语法来初始化C ++ 11中对象的信息。 / 14?什么标准的做法,建议使用()
过{}
?
在极少数情况下,例如vector<int> v(10,20);
或auto v = vector<int>(10,20);
,结果是std::vector
包含10个元素的。如果我们使用花括号,则结果为std::vector
2个元素。但这取决于调用者的用例:他/她想分配10个元素还是2个元素的向量?
斯科特·迈耶斯(Scott Meyers)在他出色的“有效的现代C ++”的项目7中解决了这个问题。他介绍了两种语法的优缺点,并得出结论
尚无共识,认为任何一种方法都比另一种更好,因此我的建议是选择一种方法并始终如一地应用。
另一方面,《 C ++核心准则》建议您首选使用初始化器语法,因此也许是更好的默认设置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句