我是来自 Java 的 C++ 程序员新手,我喜欢 C++。据我所知,我认为指针通常指向已经初始化的对象的地址。在 coocos2d 中,通常为了创建一个对象,您会按照以下行编写一些内容:
auto mysprite=Sprite::create("image.png");
并为 mysprite 使用一个方法,你会这样写:
mysprite->mymethod();
我对指针的基本了解是它们的用法如下:
int* mypoint;
int x=7;
mypoint=&x;
来自 java,这很令人困惑,为什么不创建一个像这样调用类本身的对象,或者什么时候创建这样的对象:
Sprite* mysprite=Sprite::create("image.png");
mysprite.mymethod();
我认为完全理解这一点很重要,因为 cocos2d 库中的许多构造函数都在构造函数中使用指针,我发现自己盲目地将 auto 写为变量的标识符,但我不确定为什么。感谢您提前澄清。
最佳答案
my question is why would i use "->" instead of "."
因为左边的东西是指针。
如果 a
是指针,则 a->b
与 (*a).b
相同,只是它看起来更好。
如果 a
是一个指针,那么 a.b
是一个错误。
关于c++ - 为什么 cocos 2d-x v3 在 c++ 中如此频繁地使用指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895487/