Я пытаюсь определить 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 кода, и я хотел бы, чтобы другие авторы проекта, чтобы понять, что именно это делается , Есть ли способ сделать это с помощью макроса?
Почему макро? Я бы подумал, что это функциональная территория, особенно. если вы говорите о том, чтобы разоблачить его чем-то другим. Помните, что макросы - это только предварительное процессорное время. –
Не используйте макросы. Они злы. –
Зачем вы это делаете? Что не так с нормальным синтаксисом [] []? –