C++: Variablennamen in einen String umwandeln

Manchmal ist es sehr nützlich den Namen einer Variable zu erfahren, um zum Beispiel einen Eintrag in die Log-Datei zu schreiben. Dazu kann man ein Makro definieren:

#define NAME(x) #x

Dieses Makro gibt den Namen der Variable als const char [] zurück. Diese Zeichenkette kann man ohne Probleme im Code verwenden.

Beispiel:

#include <iostream>

// Gibt den Variablennamen zurück
#define NAME(x) #x

int main(void)
{
   // variable
   int lebenspunkte = 0;

   // variablenname holen
   std::string variablenname = NAME(lebenspunkte);

   // variablennamen ausgeben
   std::cout << variablenname.c_str() << std::endl;

   // auf zeicheneingabe warten
   std::cin.get();

   return 0;
}

Schreibe einen Kommentar