Я читал некоторый код, написанный на C этим вечером, и наверху файл был функционально подобранным макросом HASH:
#define HASH(fp) (((unsigned long)fp)%NHASH)
Это заставило меня задуматься, почему кто-то решил реализовать функции таким образом, используя макрос функции, а не реализацию это как обычная ванильная функция С? Каковы преимущества и недостатки каждой реализации?
Спасибо, куча!