首页  >  文章  >  后端开发  >  函数参数中的 Const 引用:'const T&”还是'T const&”?

函数参数中的 Const 引用:'const T&”还是'T const&”?

Susan Sarandon
Susan Sarandon原创
2024-11-20 17:03:15472浏览

Const References in Function Arguments: `const T&` or `T const&`?

函数参数中的常量引用:类型说明符之前还是之后?

在 C 中,函数参数中常量引用的放置可能会引起问题。考虑以下两个代码片段:

int foo1(const Fred &arg) {
...
}
int foo2(Fred const &arg) {
...
}

从语义上讲,这两个参数之间没有区别。该语言将它们视为同一类型,都引用 Fred 类型的对象的常量引用。

风格注意事项:

但是,当涉及到风格时,不同程序员的首选用法有所不同。

  • const T&:这是 Stroustrup 的《C 编程语言》以及 C 标准本身中使用的样式。
  • T const&:这种样式不太常用,但出于一致性考虑,某些人可能更喜欢这种样式具有从右到左的解析规则,被认为是 C 中的良好实践.

从右到左解析:

根据从右到左解析规则,应应用限定符(例如 const)他们左边的类型。这将支持 T const& 的使用。

但是,重要的是要注意 const T& 也可以从右到左有效地解析。它指示对类型 T 的常量值的引用。此外,T const* 的歧义性(可能被解释为“指向 T 的指针常量”而不是“指向常量 T 的指针”)使得 const T& 成为更明确的选择。

实用性:

从可读性和通用性来说,const T&/const T 比 T const&/T const 获得了显着的势头。这可能是由于这些风格在 Stroustrup 的书和 C 标准等广泛认可的来源中流行。遵守普遍接受的做法可以增强代码的可读性。

以上是函数参数中的 Const 引用:'const T&”还是'T const&”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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