帖子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/

10-12 14:04