Auskommentieren mit nur einem Zeichen

Während der Entwicklung ist es häufig so, dass man einen Codeblock mal benötigt und mal nicht. Also wird er auskommentiert:

  ...
  printf( "Normales Programm\n" );
 
/*
  printf( "Debug-Code\n" ); 
 
  if( a == 1 )
    printf( "Debug-Code\n" );
 
  printf( "Debug-Code\n" );  
*/
 
  printf( "Normales Programm\n" );
  ... 

Jedesmal, wenn man den Code abschalten oder einschalten will, muss man den Anfang und das Ende des Blockes suchen. Wem das zu lästig ist, der kann C++ Kommentare und C-Kommentare mischen. Der C++-Kommentar sorgt dafür, dass die komplette Zeile ignoriert wird. Der C-Kommentar hingegen sorgt dafür, dass nur der Bereich zwischen dem Kommentarstart und dem Kommentarende ignoriert wird. Beachtet wird der Kommentar, der zuerst gefunden wird.

Wir können also den C-Kommentar mit einem C++-Kommentar auskommentieren:

  ...
  printf( "Normales Programm\n" );
 
//*
  printf( "Debug-Code\n" ); 
  ... 
//*/
 
  printf( "Normales Programm\n" );
  ... 

Auf diese Art wird zu Beginn ein „*“ auskommentiert und am Ende die Endmarkierung des C-Kommentars. Der Debugcode ist nicht auskommentiert.

Nehmen wir nun ein '/'-Zeichen am oberen Ende weg, so wird alles ignoriert, bis zur Endmarkierung des C-Kommentars - inklusive des C++-Kommentars (//), der der Endmarkierung des C-Kommentars (*/) voransteht:

  ...
  printf( "Normales Programm\n" );
 
/*
  printf( "Debug-Code\n" ); 
  ... 
//*/
 
  printf( "Normales Programm\n" );
  ... 

Damit lässt sich der Debugcode über beliebig viele Zeilen auskommentieren, in dem nur ein einzelnes Zeichen hinzugefügt oder entfernt wird.