C++에서 객체 지향 함수 포인터를 구현하려고합니다 (C#의 델리 게이트와 유사). std :: function 또는 Boost를 사용하여 C++에서 클래스 멤버 포인터를 구현하는 방법?
나는 마지막 클래스의 자리로 "MagicFunctionPainter"를 사용하는 예제 코드를 썼다 :class A
{
public:
MagicFunctionPointer p;
void fireEvent()
{
p();
}
};
class B
{
public:
void init(A* a)
{
a->p = &onEvent;
}
void onEvent()
{
// in a real-world app, it'd modify class variables, call other functions, ...
}
};
합니까 표준 : : 함수 또는 부스트 :: Signals2가를 지원합니까? 이 케이스를 지원하는 다른 라이브러리가 있습니까?
미리 감사드립니다.
@sehe :
함께
B::init
이 유형의 객체를 생성합니다 : 당신이 나를 의미하는 경우 : 이것은 내 유일한 StackOverflow 계정입니다. – user3684240좋아요 (보통 내가 그 사람에게 의견을 말하는 사람을 의미합니다). 괜찮아. 질문의 일치는 놀랍습니다. 이 코멘트를 곧 삭제할 것입니다. – sehe