30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

24 2. Datentypen und Variablen<br />

ist das Suffix L bzw. l angebracht. Also bezeichnet z.B. 18U oder auch<br />

18u explizit e<strong>in</strong>en unsigned Wert, wogegen 18 vom Compiler als <strong>in</strong>t<br />

betrachtet wird. Durch 18L wird dann entsprechend e<strong>in</strong>e Interpretation<br />

als long erzwungen. Natürlich funktioniert die Komb<strong>in</strong>ation 18UL zum<br />

Erzw<strong>in</strong>gen e<strong>in</strong>er Interpretation als unsigned long genauso.<br />

Wenn man, wie es <strong>in</strong> der Praxis der Regelfall ist, explizit ke<strong>in</strong>e Interpretation<br />

als bestimmten Datentyp erzw<strong>in</strong>gt, so “schätzt” der Compiler,<br />

was die s<strong>in</strong>nvollste Interpretation wäre und handelt entsprechend.<br />

Boolean-Literals: Wie zu erwarten s<strong>in</strong>d die Boolean-Literals e<strong>in</strong>fach als true<br />

bzw. false h<strong>in</strong>schreibbar, ohne dass irgendwelche besonderen Konventionen,<br />

wie z.B. Anführungszeichen vonnöten wären.<br />

Character-Literals: E<strong>in</strong> Character-Literal wird e<strong>in</strong>fach als entsprechender<br />

Character, e<strong>in</strong>geschlossen <strong>in</strong> e<strong>in</strong>fache Anführungszeichen dargestellt<br />

(z.B. ’x’ steht für den Character x). Das Umschließen mit e<strong>in</strong>fachen<br />

Anführungszeichen ist notwendig, denn woher sollte sonst der Compiler<br />

zwischen e<strong>in</strong>em Buchstaben und z.B. e<strong>in</strong>er Variable mit e<strong>in</strong>em e<strong>in</strong>buchstabigen<br />

Namen unterscheiden können (abgesehen davon, dass e<strong>in</strong>buchstabige<br />

Namen sowieso nicht erwünscht s<strong>in</strong>d :-))?<br />

Nun gibt es auch Characters, die nicht so e<strong>in</strong>fach als druckbare (!) E<strong>in</strong>zelzeichen<br />

zur Verfügung stehen, wie z.B. e<strong>in</strong> Zeilenumbruch oder e<strong>in</strong> Tabulator.<br />

Für diesen Fall gibt es die sogenannten Escape-Sequenzen, die aus<br />

e<strong>in</strong>em \ (=Backslash), gefolgt von zum<strong>in</strong>dest e<strong>in</strong>em Zeichen bestehen.<br />

E<strong>in</strong> typischer Vertreter davon ist z.B. ’\n’, was für e<strong>in</strong>en Zeilenumbruch<br />

steht, oder ’\\’, was das Backslash-Zeichen selbst darstellt.<br />

Steht man vor dem Problem, dass man e<strong>in</strong> Zeichen als char-Literal schreiben<br />

will, das weder direkt darstellbar ist, noch über e<strong>in</strong>e vordef<strong>in</strong>ierte<br />

Escape-Sequenz zur Verfügung steht, so kann man auch direkt dessen<br />

numerischen Character-Code <strong>in</strong> e<strong>in</strong>er Escape-Sequenz verwenden. Diese<br />

Sequenz hat dann die Form ’\ddd’, wobei ddd für e<strong>in</strong>e dreistellige<br />

Oktalzahl steht.<br />

Wide-Character-Literals: Das e<strong>in</strong>zige Problem bei diesen Literals ist, dem<br />

Compiler klar zu machen, dass er es nicht mit e<strong>in</strong>em normalen char zu<br />

tun hat, sondern mit e<strong>in</strong>em wchar_t. Dies geschieht durch Voranstellen<br />

von L vor das Literal. Z.B. würde also L’x’ den Unicode Buchstaben x<br />

bezeichnen. Im Vorgriff möchte ich hier auch noch gleich erwähnen, dass<br />

diese Regel auch für Str<strong>in</strong>gs gilt: Man stellt ihnen e<strong>in</strong> L voran. Wenn<br />

also e<strong>in</strong> normaler Str<strong>in</strong>g z.B. als "otto" geschrieben wird, so wird se<strong>in</strong><br />

Unicode-Pendant als L"otto" im Code verewigt.<br />

Gleitkomma-Literals: Auch diese Literals s<strong>in</strong>d völlig <strong>in</strong>tuitiv, z.B. stellen<br />

17.3 oder 2.0 gültige Gleitkommazahlen dar. Die “wissenschaftliche”<br />

Schreibweise, z.B. 0.173e2 (steht für 0.173 ∗ 10 2 ) oder 14.93e-15 (steht<br />

für 14.93 ∗ 10 −15 ) ist zulässig. Hierbei ist darauf zu achten, dass ke<strong>in</strong>e<br />

Leerzeichen im Literal vorkommen. Z.B. wäre 14.93 e -15 ungültig!

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!