В выступлении Херба Саттера на cppcon он (снова) заявил, что у них есть амбиции полностью избавиться от макросов и заменить их на современные C ++.
Я использую следующий макрос для входа в стиле printf (скорее всего, изменится на fmtlib ), и мне интересно, как избавиться от макросов в этом случае.
#define LOG_INFO(...) do { printf("INFO: "); printf(__VA_ARGS__); printf(" | file[%s] line[%d]\n", __FILE__, __LINE__); } while(0)
Я не понимаю, как это можно сделать без макросов только из-за __FILE__
и __LINE__
.Но я также не знаю о замене __VA_ARGS__
.Существует ли такая вещь?