我对迭代器和下标之间的偏好有疑问。例如,如果我正在做类似的事情:
for (vector<int>::size_type i = 0; i != ivec.size(); ++i) {
ivec[i] related operation
}
for (vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it) {
*it related operation
}
哪个是首选?从以下方面考虑: 1. 性能 2. 清晰 3. 其他问题?
我知道这个问题之前已经讨论过链接。但在另一篇文章中只谈到了 size(); 的性能成本;
假设这是关于向量的,并且 size() 的成本可以忽略不计。
使用下标与迭代器的成本如何?
谢谢。