可变参数模板假设我有一类具有一定数量的方法:处理方法,结果
class Foo {
bool someMethodA(int someParamA, double someParamB, int someParamC);
bool someMethodB(double someParamA);
bool someMethodC(double someParamA);
...
}
每种方法都有不同的签名。有没有一种方便的方法来调用这些方法,以便在true(成功)上调用通告程序方法?
notifySuccess();
宏来做到这一点:
// Call a function notifyAll() on success
#define NOTIFY_ON_SUCCESS(func) \
bool success = func; \
if (success) { \
notifySuccess(); \
} \
return success;
它被认为有办法做到这一点使用可变参数模板呢?喜欢的东西:
template <typename... ARGS>
bool CallImplAndNotify(bool (&SceneImpl::*func)(ARGS...), ARGS... args) {
bool result = func(args...);
...
}