小编nbe*_*ezs的帖子

如何从其他两个函数成功的返回状态中干净地执行一个函数?

我有一个函数依赖于其他两个函数的成功返回状态.即如果任一函数失败,第三个函数需要更新其中的内容以反映这一点,但仍然继续.是否有一种干净的方式来执行第三个功能,而不是多余的?

在我的情况下,我有以下,在哪里func1,func2并返回成功或失败:

bool status;
bool status2;
status = func1();
status2 = func2();
if (status && status2){
 func3(other_args,true)
else func3(other_args, false);
Run Code Online (Sandbox Code Playgroud)

而且我觉得这样做并不好.我func3进行了大量信息的撰写,并依赖于知道所执行的任何操作是否失败.是否有更简洁的方法来实现第三个函数调用?

我的第一个想法是:

if (func1 && func2){
    func3(some_other_args, true)
else func3(some_other_args, false)
Run Code Online (Sandbox Code Playgroud)

这是正确的心态,还是有更清洁的东西?

c++ c++11

0
推荐指数
1
解决办法
87
查看次数

标签 统计

c++ ×1

c++11 ×1