C++-Programmierung/ Einführung in C++/ Kommentare

Aus Wikibooks
Zur Navigation springen Zur Suche springen


In allen Programmiersprachen gibt es die Möglichkeit, im Quelltext Notizen zu machen. Für andere oder auch für sich selbst, denn nach ein paar Wochen werden Sie möglicherweise Ihren eigenen Quelltext nicht mehr ohne Weiteres verstehen. Kommentare helfen Ihnen und anderen besser und vor allem schneller zu verstehen, was der Quelltext bewirkt. In C++ gibt es zwei Varianten, um Kommentare zu schreiben:

Nuvola-inspired-terminal.svg
1 // Ein Kommentar, der mit zwei Schrägstrichen eingeleitet wird, geht bis zum Zeilenende
2 
3 /* Ein Kommentar dieser Art kann
4    sich über mehrere Zeilen
5    erstrecken oder ... */
6 
7 a = b /* ... vor dem Zeilenende enden. */ + c;

Die erste, bis zum Zeilenende geltende Sorte, ist die moderne Art des Kommentars. Sie ist in der Regel vorzuziehen, da sie einige Vorteile gegenüber der alten, noch aus C stammenden Variante hat. Die zweite Sorte (manchmal auch als C-Kommentar bezeichnet) in seiner mehrzeiligen Form sollte nur an Stellen verwendet werden, an denen längere Textpassagen stehen und möglichst nicht zwischen Code. Anwendung finden solche Kommentare oft am Dateianfang, um den Inhalt kurz zusammenzufassen oder Lizenzrechtliches zu regeln.

Der hauptsächliche Nachteil bei den mehrzeiligen Kommentaren besteht darin, dass man sie nicht „verschachteln“ kann. Oft werden beispielsweise Teile des Quellcodes zu Testzwecken kurzweilig auskommentiert. Folgendes Beispiel soll dies demonstrieren:

Crystal Clear action button cancel.svg
1 #include <iostream>                                     /* Ein- und Ausgabebibliothek */
2 
3 int main(){                                             /* Hauptfunktion */
4 /*
5     std::cout << "Hallo, du schöne Welt!" << std::endl; /* Ausgabe */
6 */
7 }

Das würde nicht funktionieren. Wenn hingegen die anderen Kommentare benutzt werden, gibt es solche Probleme nicht:

CrystalClearActionApply.svg
1 #include <iostream>                                     // Ein- und Ausgabebibliothek
2 
3 int main(){                                             // Hauptfunktion
4     /*
5     std::cout << "Hallo, du schöne Welt!" << std::endl; // Ausgabe
6     */
7 }

Im ersten Beispiel wird die Einleitung von /* Ausgabe */ einfach ignoriert. Der abschließende Teil beendet den Kommentar, der die Code-Zeile auskommentieren soll und der eigentliche Abschluss führt zu einem Kompilierfehler. Zugegeben, das ist nicht weiter schlimm, denn solch ein Fehler ist schnell gefunden, aber ihn von vorn herein zu vermeiden, ist eben noch zeitsparender. Im übrigen muss bei einzeiligen Kommentaren oft weniger geschrieben werden. Eine Ausnahme bilden Kommentare, die einfach zu lang sind, um sie auf eine Zeile zu schreiben. Dennoch sollten auch sie durch //-Kommentare realisiert werden.

Nuvola-inspired-terminal.svg

viel Code…


1 // Ich bin ein Beispiel für einen langen Kommentar, der durch doppelte
2 // Schrägstriche über mehrere Zeilen geht. Würde ich am Dateianfang stehen,
3 // hätte man mich wahrscheinlich mit anderen Kommentarzeichen ausgestattet,
4 // aber da ich hier eindeutig von einer Riesenmenge Quelltext umgeben bin,
5 // hat man sich trotz der erhöhten Schreibarbeit für // entschieden

noch viel mehr Code…

Symbol kept vote.svg
Tipp

Viele Texteditoren enthalten eine Tastenkombination, über die sich Text ein- und auskommentieren lässt. Besonders für längere Codepassagen ist dies nützlich.