Не могу понять принцип макроса (C++). Как он работает?
САМ МАКРОС:
#define BUFFER(x,y) *(pBuffer + y * cxBuffer + x)
ИСПОЛЬЗОВАНИЕ (В ТЕКСТЕ ПРОГРАММЫ) :
BUFFER(x, y) = ' ';
BUFFER(xCaret, yCaret) = (char) wParam;
BUFFER(x, yCaret) = BUFFER(x + 1, yCaret);
САМОЕ ГЛАВНОЕ НЕПОНЯТНО ПОЧЕМУ ТАМ СТОИТ ОПЕРАТОР РАЗЫМЕНОВАНИЯ (перед выражением в макросе)
А ВОТ КАК ОБЪЯВЛЯЕТСЯ pBuffer
static char *pBuffer = NULL;
то-есть получается в скобках рассчитывается адрес, а затем разыменовывается?..