gpt4 book ai didi

c++ - 将 vector size() 带出循环条件进行优化

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:01 27 4
gpt4 key购买 nike

fibs 是一个 std::vector。使用 g++,我被建议将 fibs.size() 带出循环,以节省每次计算它(因为 vector 可能会改变)

int sum = 0;
for(int i = 0; i < fibs.size(); ++i){
if(fibs[i] % 2 == 0){
sum += fibs[i];
}
}

当然,编译器中有一些数据流分析会告诉我们 fib 不会改变大小。在那儿?或者我应该将其他一些变量设置为 fibs.size() 并在循环条件中使用它吗?

最佳答案

编译器可能会确定它不会改变。即使是这样, vector 的 size() 也是一个 O(1) 操作。

关于c++ - 将 vector size() 带出循环条件进行优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com