假设从 std::vector 读取大量值的循环是我程序中的瓶颈,有人建议我改变
void f(std::vector<int> v)
{
...
while (...)
{
...
int x = v[i] + v[j]
...
}
}
至
void f(std::vector<int> v)
{
int* p_v = &v[0];
...
while (...)
{
...
int x = p_v[i] + p_v[j]
...
}
}
通过绕过 [] 运算符,这实际上会提高性能吗?