c++ - 使用 C++ vector 而不是 C 数组的性能损失

标签 c++ arrays vector std

在 C++ 中使用标准库中的 vector 而不是 C 中的数组是否会降低性能?

最佳答案

不,没有(假设您使用优化进行编译,以便可以发生内联),前提是您指的是使用 malloc 获得的动态大小的 C“数组”。

C 中固定大小的数组有一点优势,即它们的地址在链接后是固定的(如果是全局的),或者它们直接位于堆栈上,而不是通过指向堆上某处的指针间接存在。我相信仍然没有性能差异;常量基地址并不比可 rebase 地址快;两者都被加载到 CPU 寄存器中。

关于c++ - 使用 C++ vector 而不是 C 数组的性能损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1447552/

相关文章:

c++ - MS Word 文档中的语法高亮显示

c++ - 使用 bool 值设置位集的最佳方法

arrays - bash 和 for 循环中的关联数组

html - 不能通过 Mac OS X "open"命令使用 mailto 包含主题和正文

c++ - 在 C++ 中初始化复数数组

php - 从关联数组中获取值

javascript - 数组中 JavaScript 展开语法的时间复杂度是多少?

c++ - 导致段错误的 vector 或元素?

c++ - 在 C++ 中将 vector 乘以标量

vector - 如何将整数向量连接成单个整数?