我想知道是否有可能以某种方式将指针连接到 boost::signals2::signal。对于我的问题如下:我希望更改连接到“信号”的对象。例如 :
class Something
{
public:
int x;
bool operator()(std::string str)
{
std::cout << str << x << std::endl;
return true;
}
};
int main()
{
boost::signals2::signal<bool (std::string)> sig;
Something something;
something.x = 3;
Something* somethingElse = new Something;
somethingElse->x = 3;
sig.connect(something);
sig.connect(*somethingElse);
something.x = 2;
somethingElse->x = 2;
sig("x is : ");
}
代码将始终输出:
x 是:3
我希望它输出
x 是:2
现在我觉得我错过了一些东西,要么是一个简单的解决方案,要么是对 boost::signals2 的用途有很好的理解。