Skip to main content

Erweiterte Metaprogrammierung

  • Chapter
  • First Online:
C++-Metaprogrammierung

Part of the book series: Xpert.press ((XPERT.PRESS))

  • 4146 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 59.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Siehe Abschn. 13.3 Overload resolution.

  2. 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. 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. 4.

    Die Compilermeldungen stammen von Microsoft Compiler Visual C++ 2010

  5. 5.

    Microsoft Compiler Visual C++ 2010.

Literatur

  1. Mayer, Otto. 1988. Programmieren in COMMON LISP. Mannheim: Bibliographisches Institut & F.A. Brockhaus AG. ISBN 3-411-00638-2.

    Google Scholar 

  2. Alexandrescu, Andrei. 2003. Modernes C++ design. Heidelberg: REDLINE GMBH. ISBN 978-3-8266-1347-0.

    Google Scholar 

  3. Vandevoorde, David, und Nicolai M. Josuttis. 2010. C++ templates: The complete guide. Boston: Addision-Wesley. ISBN 0-201-73484-2.

    Google Scholar 

  4. Di. Gennaro, Davide. 2012. Advanced C++ metaprogramming. Leipzig: Amazon. ISBN 9-781460-966167.

    Google Scholar 

  5. American National Standards Institute. 1998. Programming languages — C++. New York: s.n.. ISO/IEC 14882:1998(E).

    Google Scholar 

  6. Standard ISO/IEC 1999. Programming languages — C. [pdf] Genf: s.n., 1999. INTERNATIONAL STANDARD ISO/IEC 9899.

    Google Scholar 

  7. cppreference.com. http://en.cppreference.com/w/cpp/types. Zugegriffen am 20.05.2015.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jürgen Lemke .

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Lemke, J. (2016). Erweiterte Metaprogrammierung. In: C++-Metaprogrammierung . Xpert.press. Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48550-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48550-7_4

  • Published:

  • Publisher Name: Springer Vieweg, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48549-1

  • Online ISBN: 978-3-662-48550-7

  • eBook Packages: Computer Science and Engineering (German Language)

Publish with us

Policies and ethics