Erste Schritte mit C++

Content

Zunächst sollten Sie überprüfen, ob Ihnen ein geeigneter Compiler zur Verfügung steht. Dies geht in einem Shell-Fenster am einfachsten mit dem Kommando gcc --version:

theon$ gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

theon$

Sie können sich von überall mit ssh login@theon.mathematik.uni-ulm.de auf der Theon anmelden, wobei login Ihr Benutzername bei uns ist (identisch zu dem bei SLC). Wenn Sie noch keinen Zugang bei uns haben, sollten Sie sich bei SLC anmelden. Bei mehr als sechs-stelligen Matrikelnummern sollte das über https://anmelden.mathematik.uni-ulm.de erfolgen. Vergessen Sie nicht, sich anschließend für diese Vorlesung anzumelden und geben Sie uns bis zu einem Tag, bis Ihr Zugang eingerichtet ist.

Wenn Sie bei gcc noch eine veraltete Fassung sehen, müssen Sie Ihren Zugang mit Hilfe der Datei ~/.options noch etwas umkonfigurieren:

theon$ gcc --version
gcc (GCC) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

theon$ echo ballinrobe >>~/.options
theon$ . /etc/profile
theon$ gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

theon$ 

Diese Anpassung ist nur ein einziges Mal notwendig.

Wenn Sie auf einem der Maschinen in unserem Pool E.44 arbeiten, sollten Sie gcc-8.3 verwenden:

heim$ gcc-8.3 --version
gcc-8.3 (GCC) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
heim$ 

Der C++-Compiler der 7- und 8-er-Reihe von GCC unterstützt per Voreinstellung C++14 mit einigen Erweiterungen des GCC. Für C++17 wird die Option -std=c++17 bzw. -std=gnu++17 benötigt, aber momentan ist das noch nicht relevant.

Zu Beginn ist es ratsam, ein Übungsverzeichnis anzulegen, um dort die ersten Programme anzulegen:

theon$ pwd
/home/borchert
theon$ mkdir -p pp/session01 && cd pp/session01
theon$ pwd
/home/borchert/pp/session01
theon$ 

Das pwd-Kommando (print working directory) nennt das Verzeichnis, in dem wir uns gerade befinden. Mit mkdir (make directory) wird ein Verzeichnis angelegt. Mit der Option -p kann hier auch sogleich eine Verzeichnishierarchie angelegt werden, wobei es nicht stört, wenn Verzeichnisse bereits existieren. Mit dem cd-Kommando (change directory) wechseln wir in das neue Verzeichnis.

Wenn Sie im folgenden Programmtext in einer Datei entwickeln, sollten Sie einen dafür geeigneten Editor verwenden. Meine Empfehlung ist hier der vim. Wenn Sie zusätzlich auch noch eine Interaktion mit der Maus wünschen, können Sie auch den gvim verwenden. Wenn Sie mit dem vim noch nie eine Berührung hatten, empfiehlt sich der Aufruf von vimtutor, der Sie innerhalb einer halben Stunde in die Benutzung einführt. Diese Zeit ist gut investiert und dies geschieht am besten sogleich am Anfang.

Aufgabe