nij*_*sen 5 c++ boost non-static boost-signals2
我最近一直在boost::signals2
为学习目的而玩,我想知道我是否可以将信号连接到一个类中的非静态插槽(就像我在Qt中那样).考虑以下:
class Worker {
typedef boost::signals2::signal<void (const std::string &)> SendMessage;
public:
typedef SendMessage::slot_type SendMessageSlotType;
boost::signals2::connection connect(const SendMessageSlotType &slot) {
return send_message.connect(slot);
}
private:
SendMessage send_message;
};
class Controller {
public:
Controller() {
worker.connect(&Controller::print);
}
private:
static void print(const std::string &message) {
std::cout << message << std::endl;
}
Worker worker;
};
Run Code Online (Sandbox Code Playgroud)
现在我想创建Controller::print
一个非静态成员.与boost::thread
例如,这可以使用来实现boost::bind
; 有没有办法做到这一点boost::signals2
?
Guy*_*ton 11
只是:
class Controller {
public:
Controller() {
worker.connect(boost::bind(&Controller::print, this, _1));
}
private:
void print(const std::string &message) {
std::cout << message << std::endl;
}
Worker worker;
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4643 次 |
最近记录: |