Question.12
A developer writes a type-safe printf replacement:
void log(const char* msg) {
uart_send(msg); // Base case
}
template<typename T, typename... Args>
void log(const char* fmt, T val, Args... rest) {
while (*fmt != '%') uart_putc(*fmt++);
print_value(val);
log(++fmt, rest...); // Recurse with remaining args
}
log("T=% P=%", 25, 1013);What does Args... represent?