Ein Schlüsselwort ist in Programmiersprachen ein Wort, das durch die Definition dieser Programmiersprache eine bestimmte Bedeutung hat und nicht als Name von Variablen oder Funktionen verwendet werden darf.
- asm
C++ bietet die Möglichkeit, Assembler-Anweisungen direkt in den C++-Quellcode einzubauen. Wie dies passiert, ist compilerabhängig.
Die vom ISO-Standard vorgesehene Methode ist
asm("assembler code");
Diese Schreibweise wird jedoch nicht von allen Compilern unterstützt.
Bei vielen Compilern werden Assembler-Anweisungen stattdessen in asm
-Blöcke geschrieben:
//C++-Code
asm {
//Assembler-Code
}
//weiterer C++-Code
- auto
In C++-Programmen gibt es verschiedene Arten von Speicher zu verwalten:- auf dem Stack
- auf dem Heap
- vom Compiler im Programm „verbaut“
Wenn hier und im Folgenden vom Compiler die Rede ist, soll alles vom Präprozessor bis zum Linker gemeint sein. Das ist zwar sachlich falsch, sei aber als Vereinfachung an dieser Stelle erlaubt.
Der einfachste und für den Programmierer „pflegeleichte“ Speicher ist der auf dem Stack (Stapel). Du musst ihn weder explizit anfordern noch freigeben, beides geschieht automatisch. (Dafür gibt es das Schlüsselwortauto
, das genau diese Sorte von Variablen markiert. Weil das aber den „Normalfall“ darstellt, istauto
redundant und wird faktisch nie verwendet.) - bool
Variable für Wahrheitswert - break
Teil einer bedingten Anweisung, dient dem Verlassen einer bestimmten Bedingung. - case
Teil einer bedingten Anweisung, prüft eine Bedingung. - catch
Teil einer Fehlerbehandlungsroutine, fängt potentiell gefährliche Anweisungen ab. - char
Datentyp - class
Teil einer Klassendefinition - const
kennzeichnet eine Konstante - const_cast
Typumwandlung
Merke: Verändert nichts, erlaubt dem Compiler aber eine Adresse, an der konstante Daten stehen, immer zu verwenden, wenn die Daten nicht geändert werden. Das heißt also auch, wenn eigentlich konstante Daten ausgeschlossen wurden.const_cast<Typ>(ausdruck)
bewirkt dasselbe wie(Typ)ausdruck
, sofern sich der angegebeneTyp
und der Typ vonausdruck
höchstens um einconst
unterscheiden. Achtung: Wenn Sie auf diese Art dasconst
-Attribut „wegzaubern“, heißt das noch lange nicht, dass die Variable dann „unfallfrei“ verändert werden kann. Der Compiler könnte z. B. alleconst
-Objekte in einem speziellen Read-Only-Speicherbereich anlegen, wo Schreibzugriffe grundsätzlich verboten sind. Solche Casts dienen ausschließlich dazu, konstante Referenzen oder Zeiger auf konstante Daten an Funktionen zu übergeben, welche eigentlich das gleiche in der nichtkonstanten Variante erwarten. Bitte beachten Sie, dass so etwas nur gemacht werden darf, wenn Sie wissen, dass innerhalb der Funktion nichts an den Daten geändert wird, wenn doch, ist das Programm fehlerhaft und sein Verhalten undefiniert. - continue
Teil einer Kontrollstruktur, setzt das Programm z. B. bei einer nicht erfüllten Bedingung fort. - default
Teil einer bedingten Anweisung, regelt das Standardverhalten einer Bedingungsabfrage - delete
delete ist ein Operator, der verwendet wird, um Array- und Nicht-Array(-Zeiger)-Objekte zu zerstören, die durch den new-Operator dynamisch erstellt wurden.delete kann entweder mit dem Operator delete oder mit dem Operator delete [ ] verwendet werden.
Der new-Operator wird für die dynamische Speicherzuweisung verwendet, bei der Variablen im Heap-Speicher abgelegt werden.
Das bedeutet, dass der delete-Operator Speicher aus dem Heap deallokiert.
Der Zeiger auf das Objekt wird nicht zerstört, sondern der Wert oder der Speicherblock, auf den der Zeiger zeigt, wird zerstört.
Der delete-Operator hat den Rückgabetyp void, was bedeutet, dass er keinen Wert zurückgibt. - do
Teil der do – while Schleife (Kontrollstruktur) - double
Datentyp - dynamic_cast
Typumwandlung - else
Teil einer if – else – Schleife (Kontrollstruktur) - enum
Aufzählungenum Wochentage { Montag, // 0 Dienstag, // 1 Mittwoch, // 2 Donnerstag, // 3 Freitag, // 4 Samstag, // 5 Sonntag // 6 };
- explicit
- extern
stellt eine Variable oder Funktion anwendungsweit zur Verfügung - export
Erlaubt es, die Definition eines Templates in einer eigenen Datei zu machen (so dass im Header, der von Ihnen inkludiert wird, nur die Deklaration steht), wird allerdings bisher nur vom Comeau C++ Compiler vollständig unterstützt. - false
Wahrheitswert - float
Datentyp - for
Teil einer Kontrollstruktur (for-Schleife) - friend
Strukturierung, regelt das Verhältnis zweier Klassen zueinander - goto
Sprunganweisung, Kontrollstruktur - if
if – else – Abfrage, Bedingungen, Kontrollstruktur - int
Datentyp - long
Datentyp - mutable
ist eine Membervariable mutable, so kann sie auch geändert werden, wenn das Objekt konstant ist - namespace
Namensraum - new
Arbeitsspeicher allozieren - noexept
seit C++ 11 - nullptr
seit C++ 11 - operator
Überladung von Operatoren - private
Speicherklasse - protected
Speicherklasse - public
Speicherklasse - register
Speicherklasse - reinterpret_cast
implizite Typumwandlung - return
Rückgabe eines Wertes aus einer Funktion heraus - short
Datentyp - signed
Qualifier für einen Datentyp (mit Vorzeichen) - sizeof
Operator zur Anzeige des Speicherbedarfs eines Datentyps oder einer Variablen, ermittelt den Speicherbedarf eines Typs oder eines Ausdrucks. - static
statische Elemente in Klassen - static_cast
static_cast<Typ>(ausdruck)
bewirkt dasselbe wie(Typ)ausdruck
, sofern eine implizite Umwandlung existiert. Anderenfalls akzeptiert es der Compiler nicht. Merke: Verändert die Daten selbst. - struct
Zusammengesetzter Datentyp, Struktur. Eine Struktur (struct(ure)) ist ein Datentyp, der mehrere Variablen gleichen oder verschiedenen Typs zu einem neuen Datentyp zusammenfasst. Die Deklaration erfolgt mit dem Schlüsselwortstruct
- switch
unterscheidende Kontrollstruktur, Verzweigung - template
Mit Templates (Schablonen) können allgemeine Funktionen und Klassen erstellt werden. Sie dienen zur Erzeugung von wiederverwendbarem Code. Templates werden zur Compilezeit abgearbeitet. Unterschieden wird zwischen Funktions- und Klassentemplates. - this
Zeiger auf das aktuelle Objekt - throw
Teil einer Exception-Fehlerbehandlungsroutine, wirft einen bestimmten Fehler oder eine Meldung aus - true
Wahrheitswert - try
Teil einer Exception-Fehlerbehandlungsroutine, prüft Bedingungen zur Laufzeit - typedef
Mit einertypedef
-Deklaration gibst du einem (primitiven oder zusammengesetzten) Datentyp einen Aliasnamen. - typeid
Liefert ein Objekt von Typtype_info
zurück (Header:<typeinfo>
)