当前位置:  开发笔记 > 编程语言 > 正文

得秒的定律或返回整个向量

如何解决《得秒的定律或返回整个向量》经验,为你挑选了1个好方法。



1> amit..:

两者都不是.最好返回begin()和end()迭代器,或者更好地返回迭代器的boost :: range.

private:
        typedef std::vector            PointsContainer;
public: 
        typedef boost::iterator_range PointsRange;
        PointsRange getPointsRange() const {
            return boost::make_iterator_range(pointsContainer_.begin(), pointsContainer_.end()); 
        }

优点是遍历逻辑隐藏在范围/迭代器中

在使用时,一种替代方法是:

int p;
foreach(p, obj.getPointsRange()) {
   //...
}

除此以外

C::PointsRange r = obj.getPointsRange();
for(C::PointsRange::iterator i = r.begin(); i != r.end(); ++i) {
      int p = *i;
      //...
}

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有