Skip to main content

2016 | OriginalPaper | Buchkapitel

4. Erweiterte Metaprogrammierung

verfasst von : Jürgen Lemke

Erschienen in: C++-Metaprogrammierung

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Zusammenfassung

Die erweiterte Metaprogrammierung geht über das hinaus, was in den Grundlagen der C++-Templates behandelt werden konnte. In diesem Kapitel werden Techniken und Tricks vorgestellt, um Typen in Typlisten zu verwalten oder mit Type-Traits zusätzliche Typinformationen zur Kompilationszeit zu erhalten, die für das Generieren von Quellcode unabdingbar sind. Damit lassen sich die meisten Metafunktionen der Standard Template Library besser verstehen und anwenden. Die wichtigsten Metafunktionen der Standard Template Library in C++11 werden zusammenfassend vorgestellt.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Siehe Abschn. 13.3 Overload resolution.
 
2
Die Microsoft Compiler bis Visual C++ 2010 unterstützen nicht SFINAE bei Nichttyp-Templateparametern und liefern in diesem Beispiel einen Fehler. Die Compiler ab Visual C++ 2012 und GNU-C++ (Cp1252) arbeiten korrekt.
 
3
Es kann auch ein Feld mit null Elementen angelegt werden, wenn die Bedingung nicht erfüllt ist, jedoch liefern einige Compiler dann eine Warnung statt einen Fehler zurück.
 
4
Die Compilermeldungen stammen von Microsoft Compiler Visual C++ 2010
 
5
Microsoft Compiler Visual C++ 2010.
 
Literatur
1.
Zurück zum Zitat Mayer, Otto. 1988. Programmieren in COMMON LISP. Mannheim: Bibliographisches Institut & F.A. Brockhaus AG. ISBN 3-411-00638-2. Mayer, Otto. 1988. Programmieren in COMMON LISP. Mannheim: Bibliographisches Institut & F.A. Brockhaus AG. ISBN 3-411-00638-2.
2.
Zurück zum Zitat Alexandrescu, Andrei. 2003. Modernes C++ design. Heidelberg: REDLINE GMBH. ISBN 978-3-8266-1347-0. Alexandrescu, Andrei. 2003. Modernes C++ design. Heidelberg: REDLINE GMBH. ISBN 978-3-8266-1347-0.
3.
Zurück zum Zitat Vandevoorde, David, und Nicolai M. Josuttis. 2010. C++ templates: The complete guide. Boston: Addision-Wesley. ISBN 0-201-73484-2. Vandevoorde, David, und Nicolai M. Josuttis. 2010. C++ templates: The complete guide. Boston: Addision-Wesley. ISBN 0-201-73484-2.
4.
Zurück zum Zitat Di. Gennaro, Davide. 2012. Advanced C++ metaprogramming. Leipzig: Amazon. ISBN 9-781460-966167. Di. Gennaro, Davide. 2012. Advanced C++ metaprogramming. Leipzig: Amazon. ISBN 9-781460-966167.
5.
Zurück zum Zitat American National Standards Institute. 1998. Programming languages — C++. New York: s.n.. ISO/IEC 14882:1998(E). American National Standards Institute. 1998. Programming languages — C++. New York: s.n.. ISO/IEC 14882:1998(E).
6.
Zurück zum Zitat Standard ISO/IEC 1999. Programming languages — C. [pdf] Genf: s.n., 1999. INTERNATIONAL STANDARD ISO/IEC 9899. Standard ISO/IEC 1999. Programming languages — C. [pdf] Genf: s.n., 1999. INTERNATIONAL STANDARD ISO/IEC 9899.
Metadaten
Titel
Erweiterte Metaprogrammierung
verfasst von
Jürgen Lemke
Copyright-Jahr
2016
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-662-48550-7_4