boost 的stl循环简单比较
来源:互联网 发布:现代网络机顶盒tvb1 编辑:程序博客网 时间:2024/05/22 13:16
大家都觉得C++循环迭代的写法可能比较麻烦,stl和boost中的foreach都提供了很好的替代。 这里简单比较一下两个的优缺点。
Stl::for_each用法
class out_times_x
{
private:
int multiplier;
public:
out_times_x(const int& k) : multiplier(k) { }
void operator()(const int& x) { cout << x * multiplier << " " << endl; }
};
out_times_x f2(2);
for_each(v.begin(),v.end(),f2); // Apply function
这里可以看出,我们把循环移植到一个谓词中,代码量并没有减少,逻辑也远离使用的地点。
Boost 中BOOST_FOREACH
的用法比较灵活。
我们看
std::deque<int> deque_int( /*...*/ );
int i = 0;
BOOST_FOREACH( i, deque_int )
{
if( i == 0 ) return;
if( i == 1 ) continue;
if( i == 2 ) break;
}
boost好处如下:(1)逻辑和使用没有脱离。
(2)可以支持跳出等循环操作
(3)支持反向遍历
- boost 的stl循环简单比较
- STL:map和BOOST:unordered_map 实现简单比较
- STL,Loki和Boost中Functor的比较(-)
- STL,Loki和Boost中Functor的比较(二)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
- STL实现简单的忽略大小写字 符串比较
- STL list 的循环
- boost的shared_ptr循环引用
- boost的shared_ptr循环引用
- Windows Mobile 6.0开发环境的搭建
- MySql .frm数据库文件导入的问题
- 网络使用监控/审计软件
- 英雄帖
- 洗牌
- boost 的stl循环简单比较
- 关于“IIS7中URL重写IIS提示报错404无法找到资源”的完整解决方案
- 泰山颂
- 万能查询器DLL使用说明 http://www.absky.cn/?product-80.html
- 警惕中国企业冲动式的海外收购
- Eztoo iPod Converter for Mac
- 又错了。这是最后一次。一定一定。
- 触发器教程
- jsp的内置对象