我的问题是相当简单,但我无法在谷歌上找到任何有关它的信息(可能是因为我是C++新手,并不完全了解所有东西的正确术语)。我的问题是,是否有可能在列表中添加对函数的引用,如果是这样,那么执行该操作的正确方法是什么?添加函数引用列表
基本上我想要做的是创建一个事件类,它将能够在列表中存储函数引用,以便我可以做一些基本的事件处理。
做什么即时通讯思想是这样的:
list<function> fnlist;
void add(function fn) {
fnlist.add(fn);
}
void call() {
for (function &fn: fnlist) {
fn();
}
}
是这样的可能吗?
请注意,如果我无法使用任何事件库,我想避免使用任何事件库。
好的,谢谢。这似乎相对容易实施。但是如果我要调用一个可以接受参数的函数呢?我只是将'void(void)'改为'void(type)'?编辑:谢谢。我在更新之前发布了这个问题。这看起来可以理解。 – 2014-11-02 13:24:47
typedef std :: function function;您可以。 –
wshcdr
2014-11-02 13:30:54