使用局部变量vs直接检查函数返回

nak*_*ago 0 c c++

我有一个函数定义,我调用多个函数.即使其中一个函数失败,我需要继续调用其余的函数,最后返回一个错误,说明是否有任何函数调用失败.我遵循的方法是

int function foo()

{


    int res, res1, res2, res3;

    res1 = function1();
    res2 = function2();
    res3 = function3();

    if (res1 == -1 || res2 == -1 || res3 == -1)
    {
         res = -1;
    }

    return res;
}
Run Code Online (Sandbox Code Playgroud)

可能的另一种方法是

int function foo()

{


   int res;

   if (function1() == -1)
   {
        res = -1;
   }

   if (function2() == -1)
   {
        res = -1;
   }

   if (function3() == -1)
   {
       res = -1;
   } 

   return res;
}
Run Code Online (Sandbox Code Playgroud)

哪种方法更好?提前致谢.

Cod*_*der 8

没有任何区别,两者都将针对相同的机器代码进行优化.偏好,可维护性,这取决于团队指导方针,偏好.