小编pwn*_*ell的帖子

C++ 中的 std::vector 与 [] 速度较慢 - 为什么?

我对 C++ 有点生疏——20 年前就用过它。我试图理解为什么 std::vector 在以下代码中比本机数组慢得多。谁能给我解释一下吗?我更喜欢使用标准库,但不以牺牲性能为代价:

向量:

const int grid_e_rows = 50;
const int grid_e_cols = 50;

int H(std::vector<std::vector<int>> &sigma) {
    int h = 0;
    for (int r = 0; r < grid_e_rows; ++r) {
        int r2 = (r + 1) % grid_e_rows;
        for (int c = 0; c < grid_e_cols; ++c) {
            int c2 = (c + 1) % grid_e_cols;

            h += 1 * sigma[r][c] * sigma[r][c2] + 1 * sigma[r][c] * sigma[r2][c];
        }
    }

    return -h;
}


int …
Run Code Online (Sandbox Code Playgroud)

c++ arrays performance stdvector

1
推荐指数
1
解决办法
770
查看次数

标签 统计

arrays ×1

c++ ×1

performance ×1

stdvector ×1