【发布时间】:2009-05-13 12:55:06
【问题描述】:
令人困惑的标题,希望一些代码可以澄清:
struct MyNestedType {
void func();
};
struct MyType {
MyNestedType* nested;
}
std::vector<MyType> vec;
// ... populate vec
// I want something approximating this line, but that doesn't use made-up C++!
std::for_each(vec.begin(), vec.end(), std::mem_fun_ref(&MyType::nested->func));
所以基本上我想在容器的每个元素上调用一个方法,但它实际上不是该类型的方法,它是包含类型的某个方法...我知道我可以编写一个函数对象来“传递” ' 调用,但我想调用一些方法,这会变得混乱。
有什么想法吗?
【问题讨论】: