首页 >后端开发 >C++ >什么时候在 C 中返回 const 值实际上是有益的?

什么时候在 C 中返回 const 值实际上是有益的?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-08 15:49:10956浏览

When is Returning a Const Value in C   Actually Beneficial?

什么时候返回 const 值是有益的?

Effective C 的第 3 条提倡​​在某些情况下将值作为 const 返回。然而,这种做法引发了对其有用性和潜在缺点的质疑。

在提供的具体示例中:

const Object myFunc() {
    return myObject;
}

使用 const 会限制返回值的使用,因为它会阻止您执行对未命名 const 对象的某些操作,例如算术表达式。

按 const 值返回的目的主要是为了防止意外的 bool 强制转换的返回值。然而,在现代 C 中,建议使用显式关键字来达到此目的。

此外,在可以对返回对象执行非常量操作的情况下,按 const 值返回可以防止意外调用此类对临时创建的对象进行操作。例如:

(a + b).expensive();

但是,在 C 11 及更高版本中,强烈建议以非常量形式返回值以利用右值引用,该引用仅适用于非常量右值。

因此,虽然曾经有通过 const 值返回的理由,但它在现代 C 中已经基本上过时了。总之,除非有特定的性能考虑或为了防止意外的 bool 转换(现在可以使用显式处理),否则通常不认为通过 const 值返回值是可取的。

以上是什么时候在 C 中返回 const 值实际上是有益的?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn