Я пытаюсь создать функцию печати. Я хочу, чтобы он смог взять список переменных и распечатать их значение и их имя. До сих пор у меня есть следующий код:Передайте имя переменной функции C++
std::ostream& debug_values(std::ostream& out);
template <typename V, typename... R>
std::ostream& debug_values(
std::ostream& out, const V& value, const R&... remaining) {
out << value << ", ";
debug_values(out, remaining...);
return out;
}
Это работает, но оно только распечатывает значения. Например:
ostream out;
int i1 = 1;
int i2 = 2;
debug_values(out, i1, i2) //Will print 1, 2
Вместо этого, я хотел бы debug_values напечатать следующее:
debug_values(out, i1, i2); //i1: 1, i2: 2
Есть ли способ сделать это в C++? Если да, то как?
Существует всегда '' # макро путь ... – CompuChip
Использование макросов, вероятно, единственный способ сделать это. –