【发布时间】:2018-05-26 06:05:30
【问题描述】:
是否值得通过引用传递 bool ?
void foo(const bool& iflag);
对
void foo(const bool iflag);
我听说 bool 引用比 bool 声明花费更多时间,但我无法检查它。
【问题讨论】:
-
这是一个值得担心的问题的可能性有多大?
-
这是generated assembly for GCC 的示例。一个显然是成本更低的访问。
-
“我无法检查。” 为什么不呢?你尝试了什么?你不能写测试或者简单地检查生成的代码吗?
-
仅当 foo 打算设置 iflag 但您应该删除 const 时。在第二个版本中使用 const 是多余的,因为它无论如何都是按值传递的。我个人更喜欢从函数返回值,但如果函数返回多个值,传递引用可能会派上用场。
-
抱歉,如果你无法衡量差异,那么这个问题就毫无意义,因为只有你能看到差异,答案才有意义
标签: c++ function boolean pass-by-reference