C ++的箭头( - >)运算符的官方名称是什么?

时间:2009-10-16 22:38:09

标签: c++ c operators nomenclature

我总称它为“箭头操作符”,但我确定它有正式名称。我很快浏览了C ++标准,并没有看到它的名字。

11 个答案:

答案 0 :(得分:61)

C ++标准只称它为“箭头”(§5.2.5)。

答案 1 :(得分:27)

Bjarne Stroustrup将其称为“结构指针解引用”运算符(TC ++ PL Special Edition,p.102)。在索引中,他将其称为“成员访问”操作符。

不确定这是否是“正式的”,但毕竟这个人确实写了这个语言。

答案 2 :(得分:12)

此运算符的正式名称是类成员访问运算符(参见5.2.5)。虽然此名称附加到.->运算符,但这意味着它更像是一个组名。 .在标准文本中也称为点运算符->箭头运算符

稍后添加:以上内容适用于C ++标准。 C标准仅在索引中将->称为箭头运算符。该文档的主要文本似乎没有使用任何特定的名称。

答案 3 :(得分:8)

根据Wikipedia's list of operators in C and C++,它被称为“指针成员”。

但说实话,我总称它为“箭头”。例如,如果我有代码a->b,我会将其读作“箭头b”。

答案 4 :(得分:4)

它只是dit(即不是点)。

答案 5 :(得分:2)

这些术语绝不是正式的,但我将点运算符称为 direct(class)成员访问运算符,箭头运算符称为 indirect(class)成员访问运算符< / em>澄清它们与间接运算符的关系。

答案 6 :(得分:2)

ISO / IEC 9899:1999(C99标准)的索引有'箭头操作符'的三个索引条目(在它自己的右边,在'union'和'struct'下),并参考6.5.2.3节(结构和联合成员,在Postfix运算符一节中)。但是,6.5.2.3节或标准中的任何其他地方都没有提到“箭头”而不是指数(“箭头”的每个其他外观都是“狭窄”的一部分或狭义的衍生物。)

因此,箭头在C标准中被半官方批准(但索引不是规范或标准设置)。

答案 7 :(得分:1)

取消引用指针

答案 8 :(得分:1)

我听说它提到了一些不同的方式,从来没有确定任何一个特别是比另一个更正式。

  • 会员选择运营商
  • 指针解除引用运算符
  • “箭头东西”

我确信还有其他人。就个人而言,我不太关心它在书中或官方规范中的含义,而是更关心人们在我提到它时知道我的意思,所以在我看来,“arrow thingy”是最好的名字,因为它最简单清楚地了解所提到的内容。

答案 9 :(得分:0)

ISO C标准将其称为 -> 运算符成员访问 -> 操作。显然,它在C中没有“官方”名称。

就个人而言,我只是说指针箭头

答案 10 :(得分:0)

最近有一个关于运营商如何在上下文中“发音”的问题。 考虑在上下文中发音为“times”的乘法运算符。

我认为两个成员访问运营商{。 - &gt;}表示占有,所以我将它们称为对象的占有欲。

例如...... fido-&GT;套环() ......将被发音为“fido's collar”。

另一方面,占有不适合动词,所以...... fido-&gt;运行() ......将发音为“fido runs”。