我試圖定義一個macro
到2D array
語法轉換爲1D vector
。即對於12x12
陣列,matrix[i,j]
應評估爲matrix[12*i + j]
。到目前爲止,我已經嘗試數組宏定義
#define matrix[i,j] matrix[12*i+j]
#define (matrix[i,j]) matrix[12*i+j]
#define matrix[(i,j)] matrix[12*i+j]
#define matrix([i,j]) matrix[12*i+j]`
的原因,我使用matrix[i,j]
語法是因爲這將是從R代碼裏面所謂的延伸,我想這個項目的其他作者理解正在做什麼。有沒有辦法用宏來做到這一點?
爲什麼一個宏?我會認爲這是功能領域,尤其是。如果你在談論把它暴露給別的東西。記住宏只是預處理器時間。 – 2013-02-08 15:16:28
不要使用宏。他們是邪惡的。 – 2013-02-08 15:35:02
你爲什麼這麼做?正常的[] []語法有什麼問題? – 2013-02-08 16:08:45