【发布时间】:2016-10-20 04:56:13
【问题描述】:
问这个相当“愚蠢”的问题的原因是我真的不知道如何在谷歌上搜索它或如何在 SO 上搜索它。问题是关于 '->' 运算符,它可用于从对对象的引用中访问方法和变量。例如:
exClass* exObjPtr = new exClass;
exObjPtr -> exMethod();
我不知道这个 (->) 运算符叫什么,我在搜索 SO 时无法 google 或找到它,因为下界将允许特殊字符 '>' 的灼烧。
问题:
- 在哪里可以找到有关此主题的更多信息?
- 这个操作叫什么。
- 据我目前了解,(->) 操作是某种“语法糖”,用于取消引用对象并访问其成员。此操作的“非糖语法”是什么。
提前为我的菜鸟英语道歉! 你的时间!
【问题讨论】:
-
“可用于从对对象的引用中访问方法和变量。”不,它是从 pointers 访问,而不是 references。
-
更多信息可以在任何关于 C++(和 C)的课程中找到,真的。该运算符通常被称为“arrow operator”。在 C 中,
a->b是(*a).b的糖。在 C++ 中,大多数运算符都可以被覆盖,包括->,这意味着它不应该被称为语法糖。 -
@BaummitAugen 第二个问题询问操作的名称,而不是操作符的名称。无论如何,第一个和第二个问题也由另一个问题的答案来回答,这就是为什么我觉得支持作为副本结束是可以的。
-
嗯,你可以做的不仅仅是搜索。查找list of operators in C++ on Wikipedia 怎么样?研究有时(通常!)不仅仅是将一个短语输入 Google 并希望将答案传递给您:您必须阅读和学习!这就是为什么我并不总是相信“我不知道要搜索什么”的理由......无论如何,希望这将是一个教训,从现在开始你的研究会更好。 :)