constexpr - Variablen und Objekte

Wird eine Variable als constexpr definiert, kann sie zur Compilezeit evaluiert werden. Dies gilt nicht nur für Variablen von fundamentalen Datentypen, sondern auch für Instanzen von benutzerdefinierten Datentypen (Objekte). Insbesondere bei Objekten gibt es deutliche Einschränkungen, damit diese zur Compilezeit evaluiert werden können.

Weiterlesen...
Tags: constexpr
Kommentar schreibenGelesen: 2280

Konstante Ausdrücke mit constexpr

Mit dem Schlüsselwort constexpr lässt sich ein Ausdruck definieren, der zur Compilezeit evaluiert werden kann. constexpr lässt sich für Variablen, Funktionen aber auch benutzerdefinierte Typen verwenden. Ein zur Compilezeit evaluierter Ausdruck besitzt viele Vorteile. So sind constexpr Variablen und auch Instanzen von benutzerdefinierten Typen automatisch thread-sicher und können im billigen ROM gespeichert werden, so werden constexpr Funktionen zur Compilezeit ausgeführt, so dass das Ergebnis der Funktion direkt zur Laufzeit zur Verfügung steht.

Weiterlesen...
Tags: constexpr
Kommentare 1Gelesen: 2574

inline

Dank inline kann der Compiler einen Funktionsaufruf durch seinen Funktionskörper ersetzen. Zwei Gründe sprechen für das Verwenden von inline-Funktionen. Performanz und Sicherheit.

Weiterlesen...
Tags: inline
Kommentare 2Gelesen: 3424

Die Null-Zeiger-Konstante nullptr

Das neue Null-Zeiger-Literal nullptr räumt mit der Mehrdeutigkeit der Zahl 0 und dem Makro NULL in C++ auf.

Weiterlesen...
Tags: nullptr
Kommentare 4Gelesen: 3461

override und final

Mit den kontextsensitiven Schlüsselwörtern override und final lässt sich explizit das Überschreiben von virtuellen Methoden kontrollieren. Insbesondere das Schlüsselwort override löst häufig vorkommende und schwer zu findende Probleme in Ableitungshierarchien. Methoden, die Methoden einer Basisklasse vermeintlich überschreiben. Das Ergebnis ist ein syntaktisch richtiges Programm, dass aber nicht das gewünschte Verhalten an den Tag legt.

Weiterlesen...
Kommentare 1Gelesen: 2234

Streng typisierte Aufzählungstypen

Aufzählungen (enum) sind eine beliebte Art, sprechende Integer-Konstanten (Aufzähler) zu definieren. Leider besitzen sie in klassischem C++ einige Nachteile.

Weiterlesen...
Tags: enum
Kommentar schreibenGelesen: 2296

Raw und Cooked

 

C++11 bietet benutzerdefinierte Literale für Zeichen, C-Strings, natürliche Zahlen und Fließkommazahlen an. Für natürliche Zahlen und Fließkommazahlen in raw und cooked Form. Mit C++14 gibt es darüber hinaus neue built-in Literale für Binärzahlen, C++-Strings, komplexe Zahlen und Zeitwerte. Es gibt daher noch viel zu erzählen.

Weiterlesen...
Kommentare 1Gelesen: 3253

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare