5
我一直在玩boost::signals2
最近學習的目的,我想知道我是否可以連接信號到非靜態插槽位於一個類(如我可以在QT)。考慮以下幾點:boost :: signals2插槽作爲非靜態函數成員?
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;
};
現在我希望做一個Controller::print
非靜態成員。以boost::thread
爲例,這可以使用boost::bind
來實現;有沒有辦法做到這一點boost::signals2
?