簡體   English   中英

C ++中帶逗號的預處理器宏

[英]Preprocessor macro with commas in C++

我正在完成arcsynthesis OpenGL教程,該教程定期使用宏,我一直在閱讀某些內容,如果可能,應該避免使用。 我想知道是否還有另一種方法可以執行以下操作而無需手動填寫值(或者那是我應該做的):

#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
} 

預處理器不關心逗號,空格 它將它們視為其他任何字符,並簡單地用它們替換文本。 唯一需要注意的是換行符,但行尾的\\可以照顧換行符。 例如:

#define GREEN_COLOR 0.75f,\
                    0.75f,\
                    1.0f, \
                    1.0f

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM