2013-12-23 72 views
1

我在我正在研究的源代碼中看到此行,但似乎找不到與「變量之後的星號」或「星號之前的變量」有關的任何內容。這是什麼意思?在opengl中,變量名後的星號(*)是什麼意思?

GameDrawer* gameDrawer; 

GameDrawer也用作函數和類的名稱。

+6

這不是OpenGL特有的;它是基本的C/C++語法。你如何使用C++,在沒有看到指針之前就使用OpenGL? – cHao

+0

我剛剛瀏覽C++教程。我已經看到指針是如何聲明的,但只是被聲明爲一個類型。 int,char,「int * GameDrawer;」等等。第一次遇到一個「指向類的指針」,使這個類成爲一個有效的「類型」。 – CodeSeven

+0

由於GLSL不支持指針或運算符重載,如果您在OpenGL中看到這一點,則意味着'gameDrawer'乘以'GameDrawer'。我不得不想象,這是某種形式的C代碼,並且與OpenGL或其類C語言(GLSL)無關。 –

回答

1

這裏,*被稱爲引用操作。這定義了一個指針;存儲另一個變量地址的變量稱爲指針。指針指向指向其變量的存儲地址。

檢查here瞭解更多信息。

1

在你的例子中,星號用來表示變量'gameDrawer'的類型爲指向GameDrawer的指針。它也被用來引用指針來獲取指針所綁定的變量。

0

只有一個通信,我遇到這個帖子,當我看到一個代碼後面有一個變量而不是類或結構的星號。在這種情況下,我終於認識到這裏的星號是一個乘法運算符。

相關問題