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

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

Mary-Kate Olsen
发布: 2024-12-08 15:49:10
原创
955 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板