Que fait un astérisque (*) après le nom d'une variable signifie en opengl?

Je vois cette ligne dans une source que je suis étudiant, mais n'arrive pas à trouver tout ce qui est lié à "l'astérisque après la variable" ou "variable avant de l'astérisque". Ça veut dire quoi?

GameDrawer* gameDrawer;

GameDrawer est également utilisé comme un nom pour une fonction et classe.

  • Ce n'est pas spécifiques à OpenGL; c'est basic, C/C++ de la syntaxe. Comment êtes-vous à l'aide de C++, au point de vous embêter avec OpenGL, sans avoir vu un pointeur avant?
  • Je viens d'écrémage par C++ tutoriels. J'ai vu comment les pointeurs sont déclarées , mais seulement comme étant déclaré comme un type. int, char, int * GameDrawer;" etc etc. première fois à venir à travers un "pointeur sur une classe de" faire de la classe un valide "type".
  • Depuis GLSL ne prend pas en charge les pointeurs ou la surcharge d'opérateur, si vous voyez ce dans OpenGL cela signifie multiplier GameDrawer par gameDrawer. J'ai d'imaginer au lieu de cela, que c'est une certaine forme de code C et n'a rien à voir avec OpenGL ou de ses C-comme le langage (GLSL).
  • En C++, les classes sont des types. Une fois défini comme une classe, GameDrawer est à peu près équivalent à int; vous pouvez avoir des variables de ce type, ont des pointeurs et des références à des instances d'elle, l'utiliser comme un type de paramètre dans les modèles, etc etc etc. Tout ce que vous ne pouvez pas faire est de (1) l'utiliser comme le type sous-jacent d'un enum, et (2) memcpy ses instances autour de bon gré mal gré. (Vous pouvez en fait même le faire (2) dans certains cas, avec les soi-disant "trivialement copiable" types. Mais til vous comprenez ce que "trivialement copiable" les moyens, il est plus sûr de supposer que vous ne pouvez pas.)
InformationsquelleAutor CodeSeven | 2013-12-23