我在学习的源代码中看到了这一行,但似乎找不到与“变量后面的星号”或“星号前面的变量”有关的任何内容。这是什么意思?
GameDrawer* gameDrawer;
“GameDrawer”还可以作为一个函数和类的名称。
Correct me if I’m wrong, but I think all of these are the same thing:
• GameDrawer * gameDrawer;
• GameDrawer* gameDrawer;
• GameDrawer *gameDrawer;
再多说一句,我在看到一个变量后面有一个星号而不是类或结构体的代码时遇到了这篇文章。在这种情况下,我终于意识到这里的星号是一个乘法运算符。
GameDrawer
几乎等同于int
;您可以拥有该类型的变量,具有指向其实例的指针和引用,在模板中使用它作为类型参数等等。你不能做的就是(1)将其用作枚举的基础类型,以及(2)随意地memcpy
其实例。 (实际上,在某些情况下,您甚至可以执行(2),使用所谓的“平凡可复制”类型。但是,直到您理解“平凡可复制”的含义之前,最好假设您不能这样做。) - cHao