C ++:std :: vector <std :: vector <t>&gt; </std :: vector <t>的迭代器

时间:2014-04-02 20:08:18

标签: c++ iterator

我写了一个基于std::vector<std::vector<T> >的容器。现在我希望有一个迭代器,所以我可以按照我std::vector的方式逐行处理它。什么是最短的std(这次没有提升)方法来实现这个目标?

编辑:

实际上,std::vector<std::vector<T> >并不完全是我所拥有的。我的代码看起来与此类似:

    struct Soldier { std::string name;};

    class Platoon {
      public: Soldier* commander;
      std::vector<Soldier> soldiers;
    };

    class Company {
      public: Soldier* commander;
      std::vector<Platoon> platoons;
    };

    class Batalion {
      public: Soldier* commander;
      std::vector<Company> companies;
    };

我总共有五级等级,包括士兵。我希望这些类中的每一个都有begin()和end()方法,允许对士兵进行迭代,例如为了:

    std::for_each(bravo_company.begin(), bravo_company.end(), 
          front_line());

0 个答案:

没有答案