在 C++ 中使用标准库中的 vector 而不是 C 中的数组是否会降低性能?
最佳答案
不,没有(假设您使用优化进行编译,以便可以发生内联),前提是您指的是使用 malloc 获得的动态大小的 C“数组”。
C 中固定大小的数组有一点优势,即它们的地址在链接后是固定的(如果是全局的),或者它们直接位于堆栈上,而不是通过指向堆上某处的指针间接存在。我相信仍然没有性能差异;常量基地址并不比可 rebase 地址快;两者都被加载到 CPU 寄存器中。
关于c++ - 使用 C++ vector 而不是 C 数组的性能损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1447552/