Skip to main content
Top

2016 | OriginalPaper | Chapter

4. Erweiterte Metaprogrammierung

Author : Jürgen Lemke

Published in: C++-Metaprogrammierung

Publisher: Springer Berlin Heidelberg

Activate our intelligent search to find suitable subject content or patents.

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.

Dont have a licence yet? Then find out more about our products and how to get one now:

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!

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