帖子What can I use instead of the arrow operator, `->`?
和 Arrow operator (->) usage in C
状态
但是,当被视为数学等价时,这似乎并不总是正确的。
为什么g++在替换的时候会报错
a->b->c
和
a->(*b).c
?
似乎上述等同并不总是可以替代的。因此,我认为“等效”一词有点误导。
另外,我不是指这个问题中的任何类型的重载。
最佳答案
你弄错了关联规则。 a->b->c
是 (a->b)->c
,而不是 a->(b->c)
,所以它变成 (*(a->b)).c
(然后是 (*((*a).b)).c
)。
关于C++ 箭头运算符等价,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11511227/