vector<int> my_vector(10);
// A
for (size_t i = 0; i < my_vector.size(); i++) {
// Do stuff with my_vector[i]
}
//B
for (vector<int>::iterator it = my_vector.begin(); it != my_vector.end(); it++) {
// Do stuff with (*it)
}
//C
for (vector<int>::const_iterator it = my_vector.begin(); it != my_vector.end(); it++) {
// Do stuff with (*it)
}
请回答以下问题:
1)如果我在循环中所做的事情改变了 my_vector 元素的值,那么使用 B 而不是 A 更有效吗?这里效率=更快的遍历。如果是,为什么?
2)如果不修改my_vector的元素,三者中最快的方法是什么?