LINUX.ORG.RU

История изменений

Исправление 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).

Как угодно можно делать.