C++Guns – RoboBlog

20.08.2017

C++ für Anfänger&Profis - Grundsätzliches

Filed under: Allgemein — Tags: — Thomas @ 07:08

Ein paar grundsätzliche Worte über die Sprache C++. Anders als z.B. Python oder PHP ist C++ eine statisch, stark typisierte Sprache.
Das heißt, dass zum Zeitpunkt, wenn der Compiler den Code compiliert, jede Variable einen Type haben muss. Damit ist es möglich Fehler schon während der Entwicklung zu entdecken, bevor das lauffähige Programm existiert. Und nicht erst Jahre später, oder sogar beim Endanwender. Weiterhin eröffnet diese Typisierung viele Optimierungsmöglichkeiten um den beachtlichen Geschwindigkeitsvorteil von C++ nutzen zu können.
So ist es z.B. nicht möglich, einer Variablen, welche eine ganze Zahl darstellen soll, einen Text zuzuweisen. Dafür ist es auf der anderen Seite aber auch nicht direkt möglich, einer Variablen, welche ein Text darstellen soll, eine ganze Zahl zuzuweisen. Diese Absicht muss im Code durch eine zusätzliche Funktion dargestellt werden.
Dadurch entstehen bei der Typ Prüfung während des Compiliervorgangs keine Fehler. Die Intention des Programmierers wird deutlich und der Code bleibt sauber.

So gut wie jede Zeile in C++ wird mit einem Semikolon abgeschlossen. Das bereitet den meisten Anfänger Probleme, was ich aber gar nicht nachvollziehen kann. So wird in der deutschen Sprache jeder Satz mit einem Satzzeichen beendet PUNKT. Analog dazu wird in C++ eine Zeile Code mit einem Semikolon beendet;

Der Compiler an sich ist neben der Entwicklungsumgebung das wichtigste Programm. Es muss nicht nur der komplette Code analysiert und in ein lauffähiges Programm umgewandelt werden, es müssen auch Programmierfehler behandelt werden. Leider ist die Compilerausgabe in dieser Hinsicht sehr kryptisch. Aus diesem Grund gibt es im Anhang eine Liste aller gängigen Fehlermeldungen des GNU C++ Compilers, ihre Bedeutung, Code Beispiele wie sie entstanden sind und wie man sie korrigiert.
Dies sollte man nicht als Schwäche, sondern als Stärke sehen. Jede Fehlermeldung gibt, einmal entschlüsselt, klare Angaben dazu was, wo schief lief. Und oft sogar Hilfestellung, wie es richtig wäre.

Weiterhin kommen viele mit den eingesetzten Klammern nicht zurecht. Es werden die drei unterschiedlichen Klammern () [] {} und die spitzen Pfeile < > überall im Code verwendet. Jede hat ihre klar definierte Bedeutung. So eröffnen die geschweiften Klammern {} einen neuen Codeabschnitt. Die runden Klammern () werden für den Aufruf einer Funktion benutzt, mit denen es möglich ist weitere Laufzeit Variablen zu übergeben. Mit einem Paar der spitzen Pfeile < > ist es möglich Compilezeit Variablen zu übergeben. Wohingegen die eckigen [] Klammern den Zugriff auf einem Datencontainer erlauben.

C++ zählt von 0 ab. Das erste Element in einer Liste liegt nicht an Position 1, sondern an Position 0. Für die meisten wird das die unangenehmste Umgewöhnung sein. Der Grund steckt tief in dem Hardware Aufbau eines Computers. Und auch ältere Sprachen wie Assembler haben diese Eigenschaft. Kurz gesagt speichern alle Datencontainer die Adresse ihres ersten Elements ab. Und da das erste Element schon an dieser Adresse liegt, würde das addieren einer 1 auf diese Adresse auf das zweite Element zeigen. Das addieren einer 0 hingegen ändert die Adresse nicht. Daher fängt C++ bei 0 an zu zählen.

Es gibt im Prinzip drei fundamentale Datentypen. Einen für ganze Zahlen int, einen für Gleitkommazahlen double, und einen für Text string. Alle andere Datentypen können aus diesem zusammengestellt werden.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress