Praktische Metaprogrammierung in C++
68 Seiten
German
PDF
4.5

Praktische Metaprogrammierung in C++

Praktische Metaprogrammierung in C++

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „Practical C++ Metaprogramming“ (Autoren: Edouard Alligand, Joel Falcou) ist ein kompakter, aber gehaltvoller Leitfaden, der einem der komplexesten und leistungsfähigsten Aspekte der Sprache C++ gewidmet ist – der Metaprogrammierung. Es erschien 2016, orientiert sich an den Standards C++11 und C++14 und bietet einen praktischen Ansatz zum Schreiben von Code, der zur Compile-Zeit ausgeführt wird. Trotz seines geringen Umfangs (68 Seiten) enthält das Buch zahlreiche fertige Rezepte und Erläuterungen, die dem Entwickler helfen, Techniken im Umgang mit Templates, constexpr und SFINAE zu erlernen.

Worum geht es in dem Buch

Das Buch versucht nicht, die gesamte Theorie der Metaprogrammierung abzudecken – es konzentriert sich auf praktische Aufgaben. Die Autoren behandeln nacheinander:

  • Grundlagen von Templates und deren Spezialisierung;
  • Arbeit mit Typen: Prüfung, Umwandlung, Manipulation zur Compile-Zeit;
  • Verwendung von constexpr für Berechnungen zur Compile-Zeit;
  • Die SFINAE-Technik (Substitution Failure Is Not An Error) und ihre Anwendung zur bedingten Ein-/Ausblendung von Überladungen;
  • Erstellung von Compile-Zeit-Containern und -Algorithmen;
  • Integration der Metaprogrammierung in reale Projekte.

Jedes Kapitel enthält Codebeispiele, die sofort an die eigenen Bedürfnisse angepasst werden können.

Für wen ist dieses Buch geeignet

Das Buch richtet sich an C++-Entwickler, die bereits mit der Syntax der Sprache vertraut sind und grundlegende Erfahrung mit Templates haben. Für Anfänger, die gerade erst mit dem Erlernen von C++ beginnen, könnte der Stoff anspruchsvoll erscheinen. Für diejenigen jedoch, die tiefer in die Metaprogrammierung eintauchen und effizienteren, flexibleren Code schreiben möchten, ist es ein ausgezeichneter Einstieg.

Was der Leser lernen wird

  • Wie man Code schreibt, der zur Compile-Zeit ausgeführt wird und so die Programmausführung beschleunigt;
  • Wie man std::enable_if und SFINAE zur Erstellung flexibler Schnittstellen einsetzt;
  • Wie man Compile-Zeit-Berechnungen mit constexpr implementiert;
  • Wie man Typen manipuliert: hinzufügen, entfernen, Eigenschaften prüfen;
  • Wie man eigene Type Traits erstellt;
  • Wie man häufige Fehler bei der Arbeit mit Templates vermeidet.

Stärken

1. Praxisorientierung. Im Gegensatz zu vielen akademischen Büchern gibt es hier keine langen theoretischen Exkurse – jeder Abschnitt wird durch Code untermauert, der sofort anwendbar ist.

2. Kompaktheit. 68 Seiten sind kein Nachteil, sondern ein Vorteil. Das Buch kann in ein paar Tagen gelesen werden und vermittelt konzentriertes Wissen.

3. Relevanz für C++11/14. Obwohl seitdem neue Standards (C++17, C++20) erschienen sind, bleiben die im Buch gelegten Grundlagen das Fundament des modernen C++.

4. Klare Struktur. Jedes Kapitel ist einer bestimmten Technik gewidmet, sodass das Buch auch als Nachschlagewerk genutzt werden kann.

Empfehlung

Das Buch ist nützlich für:

  • Entwickler von Bibliotheken und Frameworks in C++;
  • Programmierer, die an hochbelasteten Systemen arbeiten, bei denen Leistung wichtig ist;
  • Studenten und Dozenten, die fortgeschrittene C++-Funktionen studieren;
  • Alle, die vom Schreiben von „einfach funktionierendem Code“ zur Erstellung eleganter und effizienter Lösungen übergehen möchten.

Wenn Sie bereits die Grundlagen von C++ beherrschen und auf die nächste Stufe gelangen möchten – „Practical C++ Metaprogramming“ wird ein hervorragender Begleiter sein.

Empfehlungen