c++ - 将 "int"或 "bool"形式的标志传递给函数,在性能方面是否更好?

标签 c++ function boolean

比如说,我有一个如下所示的函数

void caller()
{
    int flag = _getFlagFromConfig();
    //this is a flag, which according to the implementation
    //is supposed to have only two values, 0 and 1 (as of now)

    callee_1(flag);
    callee_2(1 == flag);
}

void callee_1(int flag)
{
    if (1 == flag)
    {
        //do operation X
    }
}

void callee_2(bool flag)
{
    if (flag)
    {
        //do operation X
    }
}

哪个被调用函数的实现更好?

我已经完成了这个link而且我非常相信,在 if 条件下使用 bool 进行比较不会对性能产生太大影响。但就我而言,我将标志作为整数。在这种情况下,第二个被调用者是否值得?

最佳答案

它不会在性能方面产生任何差异,但在可读性方面,如果只有 2 个值,那么 bool 更有意义。特别是如果您将标志命名为像 isFlagSet 这样合理的名称。

关于c++ - 将 "int"或 "bool"形式的标志传递给函数,在性能方面是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10329137/

相关文章:

c++ - 将函数作为显式模板参数传递

c++ - 在 XCode 中快速创建和运行新的 C++ 文件

arrays - C 数组问题在不同平台上显示不同结果

javascript - JS生成随机 boolean 值

c++ - 读取二进制返回垃圾

c++ - 自定义 C++ 四元数旋转无法正常工作

python - 替代append()

c - 如何通过比较 C 中的字符串来检查输入是否有效

Javascript函数延迟

c++ - 使用动态 boolean 数组的问题