Skip to main content
main-content
Top

Hint

Swipe to navigate through the chapters of this book

2016 | OriginalPaper | Chapter

4. Erweiterte Metaprogrammierung

Author : Jürgen Lemke

Published in: C++-Metaprogrammierung

Publisher: Springer Berlin Heidelberg

share
SHARE

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.
Footnotes
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.
 
Literature
1.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
Metadata
Title
Erweiterte Metaprogrammierung
Author
Jürgen Lemke
Copyright Year
2016
Publisher
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-662-48550-7_4

Premium Partner