问个boost::lambda相关问题

youngwolf 2013-08-13 01:41:47
看了一阵boost::lambda文档,始终没搞清楚如下需求如何实现:

struct A
{
public:
A() : a(100) {}
int get() const {return a;}

protected:
int a;
};

std::list<boost::shared_ptr<A> > l;
boost::shared_ptr<A> sa(new A);
l.push_back(sa);
l.push_back(sa);
l.push_back(sa);
l.push_back(sa);

for_each(l.begin(), l.end(), ???);

问号处如何实现把l中的所有数据加起来,并放在total里面保存?
比如如下,可是通不过编译:
for_each(l.begin(), l.end(), boost::ref(total) += boost::lambda::_1 ->* &A::get);
...全文
108 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧