c++ - C 风格数组与 C++?

标签 c++ c arrays

<分区>

我读过很多关于 stackoverflow 和 codereview 的回答,它们说我们不应该在 C++ 中使用 C 风格的数组。这是什么原因呢? 如果我使用 std::Array 而不是 C 样式数组,它会影响速度/性能吗?

在我的组织中,整个应用程序都是用 C++ 编写的。但是只使用了 C 风格的数组。

最佳答案

不,它不会对性能产生影响。使用 std::array 而不是 C-like 数组有两个原因:

  • 方法 at() 允许通过边界检查通过索引获取元素。当心,operator [] 没有边界检查。
  • 有限指针算法。与 C 类阵列相比,用脚射击要困难得多。
  • 与其他标准容器的行为相同,例如 begin()、end()、size() 方法,无需处理两个变量:指针和大小。因此,您可以实现一种适用于数组和其他容器的算法。

感谢 Thomas Sablik 在评论中的澄清。

关于c++ - C 风格数组与 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58061566/

相关文章:

python - 如何使用 boost::python 通过引用 Python 传递非常量 std::vector<double>?

c++ - 将 for 语句从 BASIC 编译为 C++

c - 我如何确定C中整数的位数?

控制管道 StdIn 和 StdOut

android - 自定义 ArrayAdapter 使用 NullPointerException 打乱 View

ios - Swift:数组在类之间不发生变化?

c++ - 以不同于 Visual C++ 中的其他关键字的方式突出显示基本类型

c++ - C++ 中的数组排序问题

python - 检查解释器是否嵌入

javascript - 从 php Controller 动态添加标记