다른 블로그 구경하다가 재미난 코드를 발견해서 옮겨봅니다. 훅 루틴인데요. 모던 C++을 사용하니 정말 간결하네요. C++의 르네상스가 다시 오는건지 ㅋㅋ~ 신세계군요. 망할 XP만 없다면 빨리 넘어갈텐데 ㅠㅜ~
decltype(&timeGetTime) HooktimeGetTime = []() -> DWORD { return 0; };
decltype(A)는 A의 타입을 반환합니다. 예전에 훅 루틴 만들때마다 원형 복사해서 함수 포인터 다시 typedef하던 때를 떠올리면 정말 심플합니다.
" {}"는 람다 함수입니다. " -> DWORD {}"는 파라미터는 없고 리턴 값은 DWORD인 람다 함수라는 말이죠.