c – C的 – >相当于Objective-C中的点符号

前端之家收集整理的这篇文章主要介绍了c – C的 – >相当于Objective-C中的点符号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在进行Box2D编程,并且抬起头来,我是C和C的总菜鸟.我是一个Objective-C家伙,这就是为什么我对语言的理解变得非常困难.特别:
->

基本上我理解这用于引用不同的方法函数或变量/属性,如下所示:

body->GetWorld()->DestroyBody(body);

这相当于Objective-C中的点符号:

// made up example
[body.world destroyBody];

要么

[self destroyBody:body.world];

或类似的东西?我真的不明白这一点.有人可以告诉我这是什么.谢谢!

解决方法

我不知道Objective-C,但我可以解释 – >之间的区别和.在C和C中,希望有所帮助.

.是允许您访问struct / class实例的成员的运算符. a-> b与(* a).b相同 – 因此它首先取消引用指针,然后访问指针所指向的实例的成员.

此外,还有一种情况是Luchian提到 – 重载了给定类的operator->().如果你正在使用的类确实重载了这个操作符,那么行为将是不同的,由类定义 – 它几乎可以返回它想要的所有内容.

猜你在找的C&C++相关文章