C++ * 和 -> 之间的指针区别

发布于 2024-12-08 20:26:09 字数 301 浏览 1 评论 0原文

可能的重复:
C++: ptr->hello(); /* 对比 */ (*ptr).hello();

太糟糕了,我无法用谷歌搜索这个...

有人可以解释一下或指出我在哪里可以找到这两者之间的区别吗?我知道 * 是一个解引用运算符,那么 -> 呢? ?有什么区别?

Possible Duplicate:
C++: ptr->hello(); /* VERSUS */ (*ptr).hello();

Too bad I can't google this...

Could someone explain or point me to where I can find the difference between these two? I understand * is a dereferencing operator, what about the -> ? What's the difference?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坦然微笑 2024-12-15 20:26:09

a->b(*a).b 的语法糖,

唯一的特殊情况是对象 operator->,它是当 -> 时调用用在一个物体上。它可用于“模拟”对象是指针(与智能引用一样)

a->b is a syntactic sugar for (*a).b

The only special case is the object operator-> which is called when -> is used on an object. It can be used to "simulate" the object is a pointer ( as with smart references )

心碎的声音 2024-12-15 20:26:09

在没有重载 operator-> 的情况下,p->x 相当于 (*p).x

In the absence of overloading operator->, p->x is equivalent to (*p).x

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文