Namensräume
Varianten
Aktionen

Kommentare

Von cppreference.com
< cpp
 
 
C++ Sprache
Allgemeine Themen
Präprozessor
Kommentare
Kontrollfluss
Bedingte Ausführungsaussagen
if
Iterationsanweisungen (Schleifen)
for
Bereichs-for (C++11)
Sprunganweisungen
Funktionen
Funktionsdeklaration
Lambda-Funktionsausdruck
inline-Spezifizierer
Dynamische Ausnahmespezifikationen (bis C++17*)
noexcept-Spezifizierer (C++11)
Ausnahmen
Namensräume
Typen
Spezifizierer
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Speicherdauer-Spezifizierer
Initialisierung
Ausdrücke
Alternative Darstellungen
Literale
Boolesch - Ganzzahl - Gleitkommazahl
Zeichen - String - nullptr (C++11)
Benutzerdefinierte (C++11)
Dienstprogramme
Attribute (C++11)
Typen
typedef-Deklaration
Typalias-Deklaration (C++11)
Umwandlungen
Speicherzuweisung
Klassen
Klassenspezifische Funktionseigenschaften
explicit (C++11)
static

Spezielle Member-Funktionen
Templates
Sonstiges
 
 

Kommentare dienen als eine Art Dokumentation im Code. Wenn sie in ein Programm eingefügt werden, werden sie vom Compiler effektiv ignoriert; sie sind ausschließlich zur Verwendung als Notizen für Menschen bestimmt, die den Quellcode lesen. Obwohl spezifische Dokumentationen nicht Teil des C++-Standards sind, existieren mehrere Dienstprogramme, die Kommentare mit unterschiedlichen Dokumentationsformaten parsen.

Inhalt

[bearbeiten] Syntax

/* Kommentar */ (1)
// Kommentar (2)
1) Oft bekannt als "C-Stil" oder "mehrzeilige" Kommentare.
2) Oft bekannt als "C++-Stil" oder "einzeilige" Kommentare.

Alle Kommentare werden in der Übersetzungsphase 3 aus dem Programm entfernt, indem jeder Kommentar durch ein einzelnes Leerzeichen ersetzt wird.

[bearbeiten] C-Stil

C-Stil-Kommentare werden normalerweise zur Kommentierung großer Textblöcke verwendet, können aber auch zur Kommentierung einzelner Zeilen verwendet werden. Um einen C-Stil-Kommentar einzufügen, umschließen Sie den Text einfach mit /* und */; dies führt dazu, dass der Inhalt des Kommentars vom Compiler ignoriert wird. Obwohl es nicht Teil des C++-Standards ist, werden /** und */ oft zur Kennzeichnung von Dokumentationsblöcken verwendet; dies ist legal, da der zweite Stern einfach als Teil des Kommentars behandelt wird. C-Stil-Kommentare können nicht verschachtelt werden.

[bearbeiten] C++-Stil

C++-Stil-Kommentare werden normalerweise zur Kommentierung einzelner Zeilen verwendet, können aber auch mehrere C++-Stil-Kommentare nebeneinander platziert werden, um mehrzeilige Kommentare zu bilden. C++-Stil-Kommentare weisen den Compiler an, allen Inhalt zwischen // und einer neuen Zeile zu ignorieren.

[bearbeiten] Anmerkungen

Da Kommentare vor der Präprozessorphase entfernt werden, kann ein Makro nicht verwendet werden, um einen Kommentar zu bilden, und ein nicht abgeschlossener C-Stil-Kommentar überschneidet sich nicht mit einer #include-Datei.

Neben dem Auskommentieren werden auch andere Mechanismen zur Quellcode-Ausschluss verwendet:

#if 0
    std::cout << "this will not be executed or even compiled\n";
#endif

und

if (false)
{
    std::cout << "this will not be executed\n";
}

[bearbeiten] Beispiel

#include <iostream>
 
/* C-style comments can contain
multiple lines */
/* or just one */
 
/**************
 *  you can insert any *, but
 *  you can't make comments nested
 */
 
// C++-style comments can comment one line
 
// or, they can
// be strung together
 
int main()
{
    // comments are removed before preprocessing,
    // so ABC is "1", not "1//2134", and "1 hello world"
    // will be printed
#define ABC 1//2134
    std::cout << ABC << " hello world\n";
 
    // The below code won't be run
    // return 1;
 
    // The below code will be run
    return 0;
}

Ausgabe

1 hello world

[bearbeiten] Siehe auch

C-Dokumentation für Kommentar