История изменений
Исправление vbr, (текущая версия) :
Я препятствий не вижу.
Можно сделать буквально полный аналог printf, но типобезопасный. PRINTF("arg1=%d arg2=%u arg3=%s", arg1, arg2, arg3)
будет раскрываться в printf_begin(str, 3); printf_arg_int(arg1); printf_arg_unsigned(arg2); printf_arg_charptr(arg3); printf_end()
, а дальше никаких технических препятствий нет реализовать всё типобезопасно без UB.
Можно сделать PRINT("arg1=", arg1, " arg2=", arg2)
тоже типобезопасный.
Можно сделать PRINTF("arg1={} arg2={}", arg1, arg2)
.
Как угодно можно делать.
Исходная версия vbr, :
Я препятствий не вижу.
Можно сделать буквально полный аналог printf, но типобезопасный. PRINTF(«arg1=%d arg2=%u arg3=%s», arg1, arg2, arg3) будет раскрываться в printf_begin(str, 3); printf_arg_int(arg1); printf_arg_unsigned(arg2); printf_arg_charptr(arg3); printf_end()
, а дальше никаких технических препятствий нет реализовать всё типобезопасно без UB.
Можно сделать PRINT("arg1=", arg1, " arg2=", arg2)
тоже типобезопасный.
Можно сделать PRINTF("arg1={} arg2={}", arg1, arg2)
.
Как угодно можно делать.