zurück weiter

C++

G.Eichelsdörfer - Staatliche Technikerschule Weilburg

Datentypen und Objektklassen (1)

Wenn wir eine Variable definieren, so müssen wir uns klar machen, für welchen Zweck die Variable verwendet werden soll. Dieser Zweck entscheidet über den Typ der Variablen. Wenn Sie über einen See fahren wollen, verwenden Sie nicht irgendein beliebiges Fahrzeug. Ein Fahrrad ist dazu denkbar ungeeignet ;-) Weil auch Konstanten einen Typ haben, spricht man statt von einem Variablentyp allgemeiner von einem Datentyp. Für Objekte gilt Entsprechendes. Abhängig von den benötigten Eigenschaften entscheiden wir uns für eine passende Objektklasse.

Es folgt eine Liste von einfachen Datentypen. Das sind Typen für nicht zusammengesetzte (atomare) Daten, die also nicht weiter in einzelne Elemente zerlegbar sind. Eine Zerlegung in Bits ist hierbei ausdrücklich nicht berücksichtigt. Als einzige Ausnahme wird hier die Objektklasse std::string aufgeführt.

Hinweis:
Die Größe, die eine Variable im Arbeitsspeicher beansprucht, lässt sich leicht ermitteln. Hierzu gibt es die Funktion sizeof(), der man in den runden Klammern entweder den Variablentyp oder eine definierte Variable übergeben muss. Sie liefert den Speicherbedarf in Byte. Ein Byte besteht aus 8 Bit.
Beispiel: cout << sizeof(int) << endl; gibt die Größe für int-Variable aus.

Objektklasse

Ganzzahltypen

Alle obigen in der Sprache verankerten Ganzzahltypen sind mit Vorzeichen behaftet. Für das Vorzeichen wird das "most significant bit" (MSB) verwendet. Das ist das Bit mit dem ansonsten höchsten Stellenwert in einer Ganzzahl.

Will man Variable ohne Vorzeichen verwenden, kann man vor den Typnamen das Wort unsigned stellen.
Beispiel: unsigned int Zahl;
Die Variable "Zahl" kann einen Wert zwischen 0 und 232-1 speichern.

Ganzzahlen besitzen absolute Genauigkeit. Allerdings fassen sie keine Nachkommastellen und decken nur einen relativ engen Zahlenbereich ab.

Wenn als Konstante ein langer Ganzzahlwert definiert werden soll, dann ist an den Wert ein "L" oder "l" anzuhängen, beispielsweise 2867L.