Literale (C++)

Aus C++_PHP_und_mehr
Wechseln zu: Navigation, Suche
← Grundsätzliche Syntax ↑ Übersicht → Präprozessor

Ein Literal ist die menschenlesbare Darstellung der Werte der Basistypen durch Ziffern und Buchstaben.

Ganzzahlige Literale:

Jeweils der gleiche Wert in dezimaler, hexadezimaler und octaler Darstellung:

  • Wahrheitswerte: false (immer 0) true (ein Wert ungleich 0)
  • Dezimal: 0 123 7 12698324
  • Hexadezimal: 0x0 0x7b 0x7 0xc1c2d4 (a == A == 10, b == B == 11, ... , f == F == 15)
  • Octal: 00 0173 07 060341324

Hexadezimale und octale Schreibweise ist gut geeignet für Bitmuster oder auch Speichergrößen bzw. -adressen: 1kByte == 1024 Byte == 210 == 0x400. Für negative Zahlen ist es eher ungeeigned: 0xffff ist -1 auf einem 16-Bit-Rechner, 65535 auf einem 32-Bit-Rechner

Die Zahl hat normalerweise den Typ int, soweit passend, Suffix U (bzw u) macht die Zahl zu unsigned, L (bzw. l) macht die Zahl zu long.

Gleitkommaliterale:

  • normal: 1.23 .23 0.23 1.0
  • exponentiell: 1.23e3 (== 1.23 x 103) 1.23e-15

Die Zahl hat normalerweise den Typ double, Suffix F (bzw f) macht die Zahl zu float, L (bzw. l) macht die Zahl zu long double.

Zeichenliterale:

  • Einzelzeichen: 'a' 'b' 'ö' '\x94' (== 'ö' in Terminal) '\n' '\97' (== 'a')
  • Zeichenkette: "Hello World". Zeichenketten werden immer mit einer (unsichtbaren) 0 als Endekennung abgeschlossen. (0 ist in keinem Zeichensatz ein definierter Code.) Somit ist die Zeichenkette immer ein Byte länger als die Anzahl der Zeichen.

Zeichen sind eine andere Schreibweise für ganze Zahlen. Welche Zahl sich dahinter verbirgt, ist abhängig von der verwendeten Zeichenkodierung des Editors bzw. der IDE. Und welches Zeichen erscheint, von der Kodierung des Ausgabemedium. Und diese sind nicht immer identisch. Einigermaßen eindeutig ist es nur für ASCII-Zeichen (1 .. 127). Auch die Anzahl der Bytes ist nicht eindeutig, zB. UTF-8 verwendet unterschiedliche Längen.

Zeichen, die auf der Tastatur fehlen, können mit dem Fluchtsymbol \ und dem Code (sinnvollerweise des Ausgabemediums) für das Zeichen eingegeben werden.

Für einige Zeichen (oft nicht im Editor darstellbar) gibt es Standardnamen:

  • \n Neue Zeile
  • \t Tabulator
  • \v vertikaler Tabulator
  • \b Rückschritt
  • \r Wagenrücklauf
  • \f Seitenvorschub
  • \a Alarm

Zeichen, die bestimmte Bedeutungen für Zeichen haben, muss ich mit \ maskieren (Deshalb Fluchtsymbol).

  • \\ Backslash (umgekehrter Schrägstrich)
  • \" Doppelte Anführungszeichen
  • \' Apostroph (Einfache Anführungszeichen)
← Grundsätzliche Syntax ↑ Übersicht → Präprozessor