C++ - Grundlagen
statisch: zur Compilezeit bekannt | dynamisch: zur Laufzeit ermittelt | |
- Bindung: | ||
beim Compilieren klar, welche | konkret angesprungene Methode | |
Methode beim Aufruf | erst zur Laufzeit festgelegt | |
angesprungen wird | (''spätes Binden'') | |
- Speicherbelegung: | ||
Objekte über gesamte Laufzeit | Objekt zur Laufzeit explizit | |
existend | konstruieren und destruieren | |
- Typkonvertierung: | ||
Weg der Konvertierung zur | Weg der Konvertierung und | |
Compilezeit festgelegt | Resultat zur Laufzeit berechnet | |
implizit: vom Compiler entschieden | explizit: vom Programmierer | |
angeordnet | ||
- Typkonvertierung: | ||
selbständige Konvertierung durch | Konvertierung durch expliziten | |
den Compiler anhand eingebauter | Casting-Operator | |
oder programmierter Regeln | ||
(z.B. Casting-Konstruktoren) | ||
Initialisierung | Zuweisung | |
bei Konstruktion eines Objektes | beliebig zur Laufzeit | |
int a = 3; float b(5.8); | a = 3; f = 5.8; | |
Zeiger | Referenzen | |
- T* ist | - T& ist | |
''Zeiger auf Objekt des Typs T'' | ''Referenz auf Objekt des Typs T'' | |
- Definition/Initialisierung: | ||
T oname; | T oname; | |
T* pname = &oname; | T& rname = oname; | |
' &oname': ''Adresse des Objektes | ||
oname'' | ||
- Verwendung/Zuweisung: | ||
*pname = wert; (modifiziert oname) | rname = wert; (modifiziert oname) | |
' *pname': ''Dereferenzierung'' | ||
''Inhalt der Adresse pname'' | ||
pname = adresse; (modifiziert pname) | nicht möglich |