“声明反映使用”规则是否适用于 C++ 引用变量?

问题描述 投票:0回答:1

我正在阅读 Kernighan 和 Ritchie 所著的《C 编程语言》的一些部分。在指针部分,作者指出:

“变量声明的语法模仿变量可能出现的表达式的语法。”

我相信这个原则类似于C和C++编程中经常讨论的“声明反映使用”规则。 然而,当我开始学习C++中的引用变量时,我发现很难应用这个规则。例如:

int& ref = x;

与声明不同,ref 的使用不需要 & 符号。

有偏离此原则供参考吗?

我的问题是:

  • K&R的声明与“声明反映使用”规则相同吗?

  • 此规则是否适用于 C++ 引用变量?如果是这样,怎么办? 如果不适用,为什么 C++ 可能会偏离这个参考原则?

c++ reference variable-declaration
1个回答
0
投票

引用的全部要点在于,当在表达式中使用它们的名称时,它们的行为“完全”就像您使用了它们所引用的变量的名称一样。不应该像指针那样需要首先应用任何特殊语法(*)。

那么,如果根据您所询问的规则,引用变量声明和对象声明变量也必须看起来完全相同,那么您如何区分引用变量声明和对象声明变量呢?

因此,如果预期的行为应该是可能的,则该规则并非不适用,也不能适用。

为什么在表达式中已经具有含义的符号(

&

)被用来表示引用而不是例如引入新的关键字或标记,您可能需要询问 Bjarne Stroustrup。我的猜测是,当时这只是方便而已。

    

© www.soinside.com 2019 - 2024. All rights reserved.