C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c 11中的brace-init是否存在任何效率问题?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在虑重构一个中等大小的代码库,总是使用大括号初始化.我应该注意哪些效率问题?

一些例子可能是POD类型和内置类型,那么具有大量构造参数的大型类呢?

解决方法

这取决于“始终使用大括号初始化”的含义.如果你转换像这样的构造函数

X x(a,b,c);

X x{a,c};

(并且由于选择了不同的构造函数,行为不会改变)然后生成代码不应该变得更高或更低效.另一方面:

std::vector<std::string> v{
    "long character String a","long character String b","long character String c"};

可能效率低于

std::vector<std::string> v;
v.push_BACk("long character String a");
v.push_BACk("long character String b");
v.push_BACk("long character String c");

因为@dyp提到的问题,向量不能移出initializer_list.

大佬总结

以上是大佬教程为你收集整理的c 11中的brace-init是否存在任何效率问题?全部内容,希望文章能够帮你解决c 11中的brace-init是否存在任何效率问题?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。