Как создать макрос (или другой инструмент), использующий текст заданных переменных в строковом формате?

Я фанат отладочной печати при попытке исследовать проблемы в моем коде:

cout << "foo:" << foo << "bar:" << bar << "baz:" << baz;

Поскольку я пишу подобный код очень часто, было бы здорово, если бы я мог это сделать. общий и более простой для ввода. Может быть что-то вроде этого:

DEBUG_MACRO(foo, bar, baz);

Несмотря на то, что foo, barи bazразрешаются в имена переменных, а не в строки, можно ли использовать их имена переменных для создания строк "foo:", "bar:"и "baz:"? Можете ли вы написать функцию или макрос, который принимает неопределенное количество параметров?

5
задан Cory Klein 5 June 2012 в 15:09
поделиться