表示在c ++中是否作为函数

时间:2015-10-20 19:56:05

标签: c++

有没有任何写法如果作为c ++中的函数? 我不确定我的问题是否正确。

int sum(int a, int b)
int total;
total = a + b;
return total;

所以这是sum函数,我怎么能以这种方式写出来?

1 个答案:

答案 0 :(得分:1)

那样的东西?

void if_else(bool cond, std::function<void()> if_, std::function<void()> else_) {
    cond ? if_() : else_();
}

即使到了三元运算符的形式仍然存在if / else语句......

这可能是另一种解决方案:

void if_else(bool cond, std::function<void()> if_, std::function<void()> else_) {
    (cond && ([&]() { if_(); return true; })()) || else_();
}

我不确定第二个,主要是因为函数的定义立即执行,但我想这个想法很清楚。