我正在通過arcsynthesis OpenGL教程,它定期使用宏,我一直在閱讀的東西,我應該儘可能避免。我不知道是否有執行以下操作,而不在值手動填寫的另一種方式(或者,如果這是我應該做的):用C++中的逗號預處理器宏
#define GREEN_COLOR 0.75f, 0.75f, 1.0f, 1.0f
const float vertexData[] = {
..., //Vertex positions
GREEN_COLOR,
GREEN_COLOR,
GREEN_COLOR,
..., //Rest of the colors
}
目前仍不清楚你用這個宏試圖做什麼。你只是試圖自動創建數組來獲得這些值嗎? – JaredPar
非常多,這將創建一個地方來改變綠色的價值,而不是在多個地方進行編輯。 – bitrayne
我想不出一個更簡單的方法來做到這一點在我的頭頂。爲了減輕你對宏的擔憂,你可以在聲明vertexData後立即'#undef GREEN_COLOR';這種方式符合其目的,但不能在以後被濫用。 – MicroVirus