在遍历vector容器时,使用如下方法遍历:
for(int i=0; i<vec.size(); ++i)
//do something
循环条件中使用了.size()操作,我用g++测试,每次编译器都会执行这个操作,那么效率会不会有影响?编译器不会优化吗?
需不需要提前求出来,比如:
const int size = vec.size();
for(int i=0; i<size; ++i)
//do something
在遍历vector容器时,使用如下方法遍历:
for(int i=0; i<vec.size(); ++i)
//do something
循环条件中使用了.size()操作,我用g++测试,每次编译器都会执行这个操作,那么效率会不会有影响?编译器不会优化吗?
需不需要提前求出来,比如:
const int size = vec.size();
for(int i=0; i<size; ++i)
//do something
3 回答1.1k 阅读✓ 已解决
1 回答987 阅读✓ 已解决
4 回答776 阅读
1 回答856 阅读
1 回答887 阅读
1 回答653 阅读
1 回答761 阅读
一般情况下请使用 iterator 或 range for 遍历 vector,如果必须使用 index,则需要注意在循环过程中 vector 的长度是否会发生变化。