作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在做 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++ 中的区别,希望对您有所帮助。
.
是允许您访问结构/类实例成员的运算符。 a->b
与 (*a).b
相同 - 因此它首先取消引用指针,然后访问指针指向的实例成员。
此外,Luchian 提到了一个案例 - 重载给定类的 operator->()
。如果您使用的类确实重载了此运算符,则行为将有所不同,由类定义 - 它几乎可以返回它想要的所有内容。
关于c++ - C 的 -> 是否等同于 Objective-C 中的点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10683072/
判断这2个相似的Uris实际上相同的标准方法是什么? var a = new Uri("http://sample.com/sample/"); var b = new Uri("http://sam
这个问题在这里已经有了答案: Why does "true" == true show false in JavaScript? (5 个答案) 关闭 5 年前。 可能我很困惑,但我无法理解这个愚蠢
我是一名优秀的程序员,十分优秀!