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

如何将对象的成员函数作为std算法的unary_function调用?

如何解决《如何将对象的成员函数作为std算法的unary_function调用?》经验,为你挑选了1个好方法。

我有一个看起来像这样的课程.

class A 
{
public:
    void doSomething();
}

我有这些类的数组.我想在数组中的每个项目上调用doSomething().使用算法标题最简单的方法是什么?



1> bradtgmurray..:

使用std :: mem_fun_ref将成员函数包装为一元函数.

#include 
#include 

std::vector the_vector;

...

std::for_each(the_vector.begin(), the_vector.end(),
              std::mem_fun_ref(&A::doSomething));

如果向量包含指向类的指针而不是对象本身,也可以使用std :: mem_fun.

std::vector the_vector;

...

std::for_each(the_vector.begin(), the_vector.end(),
              std::mem_fun(&A::doSomething));

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