运算符 ->
是否允许在 C 中使用而不是 .
?它的可用性取决于我们使用的编译器吗? ->
运算符在最新的 C 标准中可用还是来自 C++ 标准?这两者有何不同?
最佳答案
在 C 中,c->m
等同于 (*c).m
。括号是必需的,因为 .
的优先级高于 *
。任何受人尊敬的编译器都会生成相同的代码。
在 C++ 中,除非 ->
或 *
是 overloaded , 等价如上。
关于c - (*x).y 与 x->y 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079311/