给出我的以函数指针作为参数的函数
void call_func(std::function<void()>func) {
func();
}
最直接的方法是类似
void no_op() {
;
}
void call_func(std::function<void()>func = no_op) {
func();
}
是否有一种更干净的方法可以避免创建无用的no_op
函数?
答案 0 :(得分:5)
您可以使用空的lambda,也可以用std::function
来包装。例如
void call_func(std::function<void()>func = []{}) {
func();
}