C++17 ist komplett

Laut Herbe Sutter (dem Vorsitzenden des ISO-C++-Komitees) ist C++ 17 technisch komplett. Es wurde noch in letzter Minute der Typ std::byte aufgenommen, der das Arbeiten mit 8-Bit-Daten erleichtert. Denn unsigned char ist nicht so einfach zu schreiben und zu lesen.

Jetzt muss noch C++17 für die ISO fertig formuliert werden. Wie der Name sagt, soll die neue C++-Norm noch dieses Jahr offiziell werden.

Quelle: Trip report: Winter ISO C++ standards meeting (Kona), C++17 is complete | Sutter’s Mill

Virtuelle Konstruktoren in C++

Wir kennen das Konzept der Polymorphie, die die dynamische Bindung (Dynamic Binding) auf Klassen-Funktionen ermöglicht. Der Vorteil der dynamischen Bindung ist die schwächere Kopplung zu Objekttypen. Wir müssen keine Typunterscheidung vornehmen, wenn wir eine Objektfunktion aufrufen, und dadurch ist unser Programm wartungsfreundlicher und erweiterbar.

In C++ erreichen wir das durch virtuelle Funktionen. Aber können wir dieses Konzept auch auf die Erstellung von Objekt-Typen anwenden? Also das unser Programm nicht schon beim Kompilieren wissen muss, welcher Typ zu erzeugen ist?

// konkreter Typ nicht bekannt, 
// wir kennen nur den Basis-Typ:
Base *obj = new Unbekannt();

» Weiterlesen