大佬教程收集整理的这篇文章主要介绍了C在for_each中为成员容器中的项调用成员函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class Elem { public: void prepare(); // do something on *this // ... }; class SELEctor { public: typedef vector<Elem *> container_type; typedef container_type::iterator iterator; iterator begin() { return cont_.begin(); } iterator end() { return cont_.end(); } void check_all(); private: prepare_elem(Elem *p); // do something on 'p' container_type cont_; };
如果我想为’cont_’中的所有元素调用prepare(),我可以做
以下功能:
void SELEctor::check_all() { for_each(cont_.begin(),cont_.end(),mem_fun(&Elem::preparE)); }
我的问题是,如果我想调用SELEctor :: prepare_elem(),该怎么办?
‘cont_’中的所有元素?我最初的方法不会编译:
void SELEctor::check_all() { for_each(cont_.begin(),mem_fun(&SELEctor::prepare_elem)); }
第二种方法也失败了:
void SELEctor::check_all() { for_each(cont_.begin(),bind1st(mem_fun(&SELEctor::prepare_elem),this)); }
无论如何使用std :: for_each()来调用
选择:: prepare_elem()?
如果有办法,我想知道没有提升的解决方案.
以上是大佬教程为你收集整理的C在for_each中为成员容器中的项调用成员函数全部内容,希望文章能够帮你解决C在for_each中为成员容器中的项调用成员函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。