我正在处理一个代码库,我遇到了一些让我有点难过的事情,或者至少让我三思而后行。
我有一个通过引用传递的函数的参数,如下所示:
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/