template <typename R, typename T>
Deferred<Future<R>()> defer(const PID<T>& pid, Future<R> (T::*method)())
{
return Deferred<Future<R>()>([=]() { return dispatch(pid, method); });
}
- 무엇이
(T::*method)
입니까? 여기T
이 무엇인지 압니다. 그러나*method
과 같은 것을 본 적이 없습니다. 앞의*
은 혼란 스럽습니다. - 함수 본문이 꽤 복잡해 보입니다. 각 부분을 분해하여 구문 론적으로 이해하고 싶습니다. 그래도 람다처럼 보입니다.
멤버 함수 포인터와 그것을'dispatch()'호출에 맡기는 람다 함수. –