c++ - '->' and '。'用于对对象的引用?

标签 c++

我正在处理一个代码库,我遇到了一些让我有点难过的事情,或者至少让我三思而后行。

我有一个通过引用传递的函数的参数,如下所示:

const PathTile &refTile

在函数中的某一点,pathTile 的成员函数可以像预期的那样访问,使用 -> 运算符,只需几行就可以访问同一个成员使用 . 运算符访问函数。奇怪的是代码有效。当使用 . 时,这个 -> 是隐式的吗??

我问是因为我不确定之前的人是否有意这样做。我应该改变它吗?

最佳答案

at one point in the function a member function of the pathTile is accessed like one would expect, with the -> operator

这是不正确的。引用成员通常应通过 . 访问。正如 Seth 在评论中指出的那样,-> 可以重载......当您想假装您的类型是指针时,这很有用。 . 不能重载。

Is this -> implicit when the . is used??

不,必须有另一种解释。 (立即想到不同的变量和重载的->)

关于c++ - '->' and '。'用于对对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098290/

相关文章:

c++ - 简单的for()循环基准测试与任何循环绑定(bind)都花费相同的时间

c++ - 使数据连续以在节点之间传输的有效方法

c++ - 如何在 Windows 中通过鼠标 Hook 设置光标位置?

c++ - 如何在 multimap 中按排序顺序打印键的值

c++ - 有人可以解释这个继承代码吗?

c++ - 无法在 Windows : Could NOT find Lua (missing: LUA_LIBRARIES) (found version "5.3.4") 上使用 CMake 链接到 Lua 5.3.4

c++ - Azure 和 native 代码

c++ - 位域和编译指示

c++ - 取决于 CMake 外部项目的 INSTALL 目标

android - 来自图形缓冲区的 memcpy 在 Android 中很慢