for_each + lambda 优雅的写代码

来源:互联网 发布:eplan软件出售 编辑:程序博客网 时间:2024/05/01 21:35

写惯了objective c 的 block代码,实现在方便,省事,代码简洁,c++的lambda也可以写得很简洁,记录下

lambda传递局部参数,请将参数写在[]中。

boost::property_tree::ptree pt;    try {        boost::property_tree::ini_parser::read_ini(path, pt);  // 打开读文件          accountitem itm;        i = 1;        for_each(acs.begin(), acs.end(), [&pt,&i,&itm](accountitem x) {            string s1, s2;            s1 = str::format("帐号%d.账号%d", i, i);            pt.put<std::string>(s1, x.name);            s1 = str::format("帐号%d.密码%d", i, i);            pt.put<std::string>(s1, x.password);            i++;        });        boost::property_tree::ini_parser::write_ini(path, pt);    }    catch (std::exception e) {        cout << e.what();        boost::property_tree::ini_parser::write_ini(path, pt);    }
阅读全文
0 0
原创粉丝点击