相关疑难解决方法(0)

比较std :: tr1 :: function <>对象

我一直在尝试用C++实现类似C#的事件系统,其中tr1函数模板用于存储处理事件的函数.

我创建了一个向量,以便可以将多个侦听器附加到此事件,即:

vector< function<void (int)> >  listenerList;
Run Code Online (Sandbox Code Playgroud)

我希望能够从列表中删除处理程序以阻止侦听器接收事件.

那么,如何在此列表中找到与给定侦听器对应的条目?我可以测试列表中的"函数"对象是否指向特定函数吗?

谢谢!

编辑:看过boost :: signal方法,看起来它可能是使用令牌系统实现的,正如你们所建议的那样.这是关于此的一些信息.观察者在附加到事件时保留"连接"对象,并且此连接对象用于在需要时断开连接.所以看起来你是使用Boost还是使用tr1自己动手,基本原理是一样的.即它会有点笨拙:)

c++ function tr1

5
推荐指数
2
解决办法
6917
查看次数

制作一个指向两个函数c ++的std :: funtion

如果我有两个功能

void foo()
{
    std::cout << 1 << std::endl;
}

void bar()
{
    std::cout << 2 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

我有一个函数指针

std::function<void()> v;
Run Code Online (Sandbox Code Playgroud)

我想要v()打印

1
2
Run Code Online (Sandbox Code Playgroud)

c++ std-function

1
推荐指数
1
解决办法
65
查看次数

标签 统计

c++ ×2

function ×1

std-function ×1

tr1 ×1