我不确定怎样在网上寻找这个...我想它们在C++中可能有不同的称呼。
我想要一个简单的活动系统,类似于
event myCustomEvent;
myCustomEvent.subscribe( void myHandler(string) );
myCustomEvent.fire("a custom argument");
// myHandler prints out the string passed in the first argument
event myNewCustomEvent;
myNewCustomEvent.subscribe( void myNewHandler(int) );
myNewCustomEvent.fire(10);
// myHandler prints 10
我可以通过一个简单的类来很容易地实现这个 -- 但是当我想要有一个事件,将不同类型或数量的参数传递给订阅者时,我必须编写并定义一个全新的事件类。我想应该有一些库,甚至在Visual C++ 2008中可能有一些本地的东西,可以类似于这样工作。这基本上只是观察者模式的实现,所以在C++中应该不会太难做。
这真让我欣赏JavaScript的好处,不必担心传递的参数。
告诉我这是不是一个愚蠢的问题。