在赫伯·萨特(Herb Sutter)的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__
的替代品。这样的东西存在吗?