Это решение идеально, поскольку оно сохраняет имя функции и номер строки, в которой функция была вызвана, и нет необходимости реализовывать его как #define.
Код: Выделить всё
template
struct debug
{
debug(Ts&&... ts, const std::source_location& loc = std::source_location::current())
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79873747/ctad-in-a-variadic-template-function[/url]
Мобильная версия