这是一个创建于 4599 天前的主题,其中的信息可能已经有所发展或是发生改变。
对于C++中的循环,比如一个vector<int> a;
for(vector<int>::iterator it = a.begin(); it != a.end(); ++it)和把 it != a.end()从循环拿出,变成 end = a.end();
再for(vector<int>::iterator it = a.begin(); it != end; ++it),效率上有很大区别么,同样的问题,比如循环中用到size()函数
1 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
keakon 2012-04-30 17:17:58 +08:00
如果你在遍历时插入或删除了vector中的元素,end()是可能变化的。不过vector::end()会创建iterator对象,开销有点大。
|