Linux Magazin germany

Rückschau

Modernes C++ in der Praxis – Folge 61

Bevor wir uns der Frage widmen, wie modernes C++ in den letzten Jahren gereift ist, gilt es die Frage zu beantworten, was denn Legacy C++ und modernes C++ unterscheidet? Als Legacy C++ bezeichnet man C++ vor C++11. Das umfasst den ersten C++-Standard C++98 sowie C++03, eine kleine Erweiterung. Das beantwortet auch schon beinahe den zweiten Teil der Frage: Unter modernem C++ versteht man C++11, C++14 und C++17. Für C++20 hat sich noch kein Begriff in der C++-Community eingebürgert, es bleibt in diesem Schema außen vor. Der einzige Konsens lautet, dass mit C++20 eine neue Ära beginnt.

Wie lässt sich die Evolution von Legacy C++ zu modernem C++ am besten veranschaulichen? Diese Frage sollen die zehn Leitsätze für moderne C++-Entwicklung aus Abbildung 1 auf den Punkt bringen.

Implizite Typkonvertierung

Implizite Typkonvertierungen sind ein häufiger Grund für undefiniertes Programmverhalten. Das Programm kann abstürzen oder ein falsches beziehungsweise im schlimmsten Fall nur vermeintlich richtiges Ergebnis liefern.

Doch wann treten implizite oder heimliche Typkonvertierungen auf? Unschönerweise viel zu oft. So lässt sich eine Int-Variable mit einem Double-Wert initialisieren, was die Nachkommastellen abschneidet: Ein weiteres Beispiel liefern die Null-Pointer-Konstanten und , die sich beide in eine natürliche Zahl konvertiert „heimlich“ in die ganze Zahl 0.

You’re reading a preview, subscribe to read more.

More from Linux Magazin germany

Linux Magazin germany1 min read
Linux Magazin Germany
Geschäftsführer Christian Müller, Rainer Rosenbusch Chefredakteur, Brand/Editorial Director Jörg Luther (V.i.S.d.P.), jluther@linux-magazin.de (jlu) Stv. Chefredakteur Jens-Christoph Brendel, jcb@linux-magazin.de (jcb) Redaktionsltg. Online Ulrich Ba
Linux Magazin germany5 min readIntelligence (AI) & Semantics
Ist Doch Logisch
Was heißt logische Programmierung? Sollte nicht jede Programmiersprache klar und einleuchtend sein, im landläufigen Sinne also logisch? Eine logische Sprache im engeren Sinn wie das im Folgenden exemplarisch vorgestellte Prolog meint allerdings etwas
Linux Magazin germany3 min read
Tux Liest
Zwei Bücher über gutes Programmieren Obwohl Programmieren längst eine Ingenieursdisziplin ist, umweht es immer noch ein Hauch von Kunst. Zweifellos zeichnen einen guten Programmierer zum Beispiel Sprachenkenntnis und Methodenwissen aus, Dinge, die ma

Related