c++ - C++11在效率上是否比C++03快?

标签 c++ c++11 c++03 low-latency

<分区>

我在贸易公司工作,在这里延迟很重要。分配给我的项目是混合使用 c 和 c++98 部分开发的,但我相信我们可以使用 C++11 制作同一个项目而不会降低效率。正如与我的前辈讨论的那样,他们说你应该坚持使用 C 和 c++03,因为它们在微观层面上比 C++11 更高效。 任何人都可以强调我如果我使用 C++11,我会得到更好的结果吗?

最佳答案

C++11 更快,因为引入了对象移动。主要是在 STL 中使用此功能可以大大加快某些应用程序的速度,而无需更改用户代码。可以比以前更高效地对应用程序进行编程。 constexpr 构造也可以使应用程序启动更快,因为对象可以驻留在小型 Controller 的闪存空间中,而不是将它们复制到 ram 中。还有更多功能有助于提高代码效率。例如,容器的 emplace_back 有助于就地生成对象,而不是创建和复制它们。

C++17 引入了有保证的复制省略,这在很多用例中也加快了速度。

关于c++ - C++11在效率上是否比C++03快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47324725/

相关文章:

c++ - 手动设置 Visual Studio 2012 的 C++ 语言版本

c++ - std::vector::erase() 是否在删除点使迭代器无效?

c++ - 根据比较函数 C++ 对成对数组进行排序

c++: vector 没有命名类型

c++ - 如何将文件与 C++ 应用程序的二进制文件打包在一起?

c++ - map::emplace 在什么时候创建对象?

c++ - 如何使用 VC++ 编译器标志指定枚举大小

c++ - std::unordered_set 中的元素如何存储在 C++ 的内存中?

c++ - 迭代不同的类型

c++ - system() 函数不工作 C++