static int addmodeltype(int type, model *(__cdecl *loader)(const char *))
{
modeltypes[type] = loader;
return type;
}
#define MODELTYPE(modeltype, modelclass) \
static model *__loadmodel__##modelclass(const char *filename) \
{ \
return new modelclass(filename); \
} \
static int __dummy__##modelclass = addmodeltype((modeltype), __loadmodel__##modelclass);
И не могу толком разобрать макрос. Не, я знаю, для чего применяются макросы с ## и знаю, что конкретно делает макрос MODELTYPE. Но что означает __dummy__? Для чего используются символы подчеркивания в __loadmodel__##modelclass? Ясно ведь, не для красоты, так как функции такого вида в коде нигде не вызываются. Ссылка на весь файл: https://bitbucket.org/inish777/penteract/src/6a7de2864b785435b38aa9fd8859ce92...