V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lixiang
V2EX  ›  问与答

对于C++中的循环的效率问题的疑问

  •  
  •   lixiang · 2012-04-27 14:58:35 +08:00 · 2556 次点击
    这是一个创建于 4448 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对于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
    keakon
        1
    keakon  
       2012-04-30 17:17:58 +08:00
    如果你在遍历时插入或删除了vector中的元素,end()是可能变化的。不过vector::end()会创建iterator对象,开销有点大。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:41 · PVG 06:41 · LAX 15:41 · JFK 18:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.