나는 Event 클래스가 있습니다. AddHandler(thisPtr, callback)
에서 나는 thisPtr
및 callback
에 tr1::bind
를 사용하고 결국 나는 목록이 있습니다C++ 이벤트에서 제거 처리기를 구현하는 방법
typedef std::tr1::function<void(int&)> CallbackFunction;
std::list<CallbackFunction> m_handlers;
을하지만 tr1::function
는 비교 불가능한 경우 어떻게이 제거 처리기 메서드를 구현할 수있다?
개체 포인터와 콜백에서지도를 tr1::function
으로 유지하고 동등한 개체 포인터와 콜백 포인터를 가진 포인터를 제거해야 RemoveHandler
에 있습니까? 이것은 안전한 접근인가?
아마 당신이해야 삽입 된 객체의 반복자를 리턴하면된다. 또한 Boost.Signals2, libsigC++ 등을 확인하십시오. – kennytm