使用C++向量而不是C数组的性能损失

dzh*_*lil 2 c++ arrays vector std

使用C++中的标准库中的向量而不是C中的数组会有性能损失吗?

Jon*_*ehl 7

不,没有(假设您使用优化进行编译,因此可以进行内联),前提是您使用malloc获得动态大小的C"数组".

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