我希望创建一个类,其中包含成员函数,这些函数返回指向其他成员函数的指针。
也就是说,类似于以下内容:
基本上,我试图实现一个状态机,其中每个状态都知道下一个状态,并通过函数指针返回它。
注意:我不关心其他实现状态机的方式。我真的想知道是否可以以类似上述的方式实现。
背景:我受到了这个演讲的启发:http://www.youtube.com/watch?v=HxaD_trXwRE,并想知道是否可以在C ++中使用类似的模式。
也就是说,类似于以下内容:
class Foo {
// typedef ????(Foo::* func)????
public:
Func s1();
Func s2();
Func s3();
}
Func Foo::s1() {
// do stuff
return &Foo::s2;
}
Func Foo::s2() {
// do stuff
return &Foo::s3;
}
Func Foo::s3() {
// do stuff
return 0;
}
基本上,我试图实现一个状态机,其中每个状态都知道下一个状态,并通过函数指针返回它。
注意:我不关心其他实现状态机的方式。我真的想知道是否可以以类似上述的方式实现。
背景:我受到了这个演讲的启发:http://www.youtube.com/watch?v=HxaD_trXwRE,并想知道是否可以在C ++中使用类似的模式。
std::function
和std::bind
是你的好朋友。 - Captain Obvlious