오브젝트 1에 부스트 시그널 2 신호가 있고 오브젝트 2에 부스트 시그널 2 신호가 있습니다. 오브젝트 2가 파괴되면 신호가 끊어지지 않고 신호가 끊어지면 신호가 끊어집니다. 이 문제를 해결하기 위해 객체 2에 scoped_connection을 유지합니다. 이제 객체 1이 신호로 소멸되고 객체 2가 소멸되면 문제가 발생합니다. 문제가 발생합니까? 일반적인
신호를 연결해야하기 때문에 이전에 객체의 인스턴스를 인스턴스화해야하는 경우가 발생했습니다. 신호를 연결해야하기 때문에 슬롯을 소유하고 싶습니다. 방법은 구성원 변수로 사용하는 대신 가까이에있는 객체를 구성 할 수 있도록 슬롯을 저장하고 전달하는 방법으로 입니다. 내 기본적인 문제는 파일을 별도의 스레드에 다운로드하고 관심있는 사람에게 진행 신호를 보냅니다.
이 간단한 예제가 컴파일되지 않는 이유는 무엇입니까? 어떻게 문제를 해결할 수 있습니까? #include <iostream>
#include <boost/signals2/signal.hpp>
struct HelloWorld {
HelloWorld() {
i = 0;
}
void operator()() {
많은 링크 된 개체로 구성된 응용 프로그램이 있으며 각 개체는 기능을 수행하는 데 필요한 매개 변수가 있습니다. 나는 컨텍스트 패턴을 사용하여 각 개체가 생성시 주어진 컨텍스트 개체 참조에 따라 자체 매개 변수를 설정합니다. 이것은 아래 주어진 간단한 코드 예제에서 잘 작동합니다. 내가 추가하려고하는 다음 기능은 관찰자 패턴입니다. 따라서 컨텍스트 개체의
나는 최근에 학습을 목적으로 boost::signals2을 가지고 놀았으며, (Qt처럼) 비 정적 인 슬롯에 신호를 연결할 수 있는지 궁금합니다. 다음 고려 : class Worker {
typedef boost::signals2::signal<void (const std::string &)> SendMessage;
public:
typ