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

我总是称其为“箭头运算符”,但我确信它具有正式名称。 我很快浏览了C ++标准,却没有看到它的名字。

rmeador asked 2020-07-28T14:43:21Z
11个解决方案
62 votes

C ++标准只是将其称为“箭头”(第5.2.5节)。

Jerry Coffin answered 2020-07-28T14:43:40Z
27 votes

Bjarne Stroustrup将其称为“结构指针取消引用”运算符(TC ++ PL特别版,第102页)。 他在索引中将其称为“成员访问”运算符。

不确定这是否是“官方的”,但毕竟那家伙确实写了这种语言。

John answered 2020-07-28T14:44:05Z
14 votes

该操作员的正式名称是班级成员访问操作员(请参阅5.2.5)。 尽管此名称同时附加到->和2986508203191698698433运算符上,这意味着它更像是组名。 在标准文本中,.也称为点运算符,->也称为箭头运算符。

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

AnT answered 2020-07-28T14:44:30Z
8 votes

根据Wikipedia的C和C ++运算符列表,它称为“指针成员”。

但是老实说,我一直称它为“箭头”。 例如,如果我有代码a->b,则将其读为“ a箭头b”。

Thomas Owens answered 2020-07-28T14:44:55Z
4 votes

它只是分散(即不是点)。

James Morris answered 2020-07-28T14:45:16Z
3 votes

这些术语绝不是官方的,但我将点运算符称为直接(类)成员访问运算符,将箭头运算符称为间接(类)成员访问运算符,以阐明它们与间接运算符的关系。

Christoph answered 2020-07-28T14:45:36Z
2 votes

ISO / IEC 9899:1999(C99标准)的索引具有三个“箭头操作符”(本身具有,并在“联合”和“结构”下)的索引条目,请参阅第6.5.2.3节(结构和 工会成员,在Postfix运算符部分中)。 但是,在第6.5.2.3节中没有提到“箭头”,也没有在索引中提及索引的其他地方(“箭头”的所有其他出现都是“窄”的一部分或窄的衍生形式)。

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

Jonathan Leffler answered 2020-07-28T14:46:01Z
1 votes

解引用指针

Jonathan D answered 2020-07-28T14:46:20Z
1 votes

我听说它指的是几种不同的方式,尤其是从不保证任何人都比其他人更正式。

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

而且我敢肯定还有其他人。 就我个人而言,我不太在意书或正式规范中的名称,而更担心的是人们在提及该名称时会明白我的意思,因此我认为“ arrowthingy”是它的最好名称,因为它最简单 清楚地了解所指的是什么。

dbgarf answered 2020-07-28T14:46:59Z
0 votes

ISO C标准将其称为->操作员或member-access->操作员。 因此,显然,它在C中没有“正式”名称。

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

David R Tribble answered 2020-07-28T14:47:24Z
0 votes

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

我考虑了两个成员访问运算符{。 ->}表示拥有,因此我将它们说成是物上的所有物。

例如...fido-> collar()...将被发音为“ fido的项圈”。

另一方面,占有不适合动词,所以...fido-> run()...将被发音为“ fido run”。

phreed answered 2020-07-28T14:47:58Z
translate from https://stackoverflow.com:/questions/1580757/what-is-the-official-name-of-cs-arrow-operator