在 C 中,函数参数中常量引用的放置可能会引起问题。考虑以下两个代码片段:
int foo1(const Fred &arg) { ... }
int foo2(Fred const &arg) { ... }
从语义上讲,这两个参数之间没有区别。该语言将它们视为同一类型,都引用 Fred 类型的对象的常量引用。
风格注意事项:
但是,当涉及到风格时,不同程序员的首选用法有所不同。
从右到左解析:
根据从右到左解析规则,应应用限定符(例如 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中文网其他相关文章!