aja*_*ddy 1 c++ arrays stdvector
memory是1000个元素的向量array []是一个1000个元素的整数数组
for (iteration = 0; iteration < numiterations; iteration++) {
for (j = 1; j < numints; j++) {
memory[j] += memory[j - 1];
//array[j] += array[j - 1];
}
}
Run Code Online (Sandbox Code Playgroud)
如果我跑100次迭代后比较for循环的时间,相比于载体的用于访问所需的时间是非常小
为什么会这样?因为我认为两者都需要不变且几乎相同的时间..
由于大多数(如果不是全部)实现在内部std::vector使用T*数组,因此在[]设置优化标志时使用运算符访问向量元素和C数组元素之间应该没有任何性能差异.使用编译器的优化标志再次尝试测试.
但是,使用该std::vector<T>::at函数可能不是这种情况,因为此函数将执行边界检查.
| 归档时间: |
|
| 查看次数: |
9154 次 |
| 最近记录: |