C++ Templates

C++ Templates : The Complete Guide

By (author)  , By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 1 business day
When will my order arrive?


For years, C++ Templates has been the "bible" of templates: no other guide has compared in comprehensiveness, depth, or accuracy. Now, three world-class C++ experts have thoroughly updated this classic reference and tutorial for the new C++1x standards and the language's many new features and capabilities. David Vandevoorde, Nicolai M. Josuttis, and Doug Gregor have revised the book's previous coverage to reflect newer ideas, while adding extensive coverage of modern template-related topics such as lambdas, inline namespaces, and user-defined literals. Throughout, they carefully retain the features that made the original C++ Templates so successful: its plethora of small, illustrative examples; its clear explanations of crucial details ignored elsewhere; and its illumination of non-template issues that turn out to be more relevant than many developers expect.show more

Product details

  • Hardback | 832 pages
  • 198 x 232 x 49mm | 1,546g
  • Pearson Education (US)
  • Addison-Wesley Educational Publishers Inc
  • New Jersey, United States
  • English
  • 2nd edition
  • 0321714121
  • 9780321714121
  • 16,769

Back cover copy

Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently.C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates. Examples used throughout the book illustrate abstract concepts and demonstrate best practices.Readers learnThe exact behaviors of templatesHow to avoid the pitfalls associated with templatesIdioms and techniques, from the basic to the previously undocumentedHow to reuse source code without threatening performance or safetyHow to increase the efficiency of C++ programsHow to produce more flexible and maintainable softwareThis practical guide shows programmers how to exploit the full power of the template features in C++.The companion Web site at http: //www.josuttis.com/tmplbook/ contains sample code and additional updates. 0201734842B09172002show more

About David Vandevoorde

David Vandevoorde started programming C++ in the late 1980s. After obtaining a PhD from the Rensselaer Polytechnic Institute, he became technical lead of Hewlett-Packard's C++ compiler team. In 1999 he joined the Edison Design Group (EDG), whose C++ compiler technology is widely recognized as the industry's most advanced. He is an active member of the C++ Standard Committee and a moderator of the newsgroup comp.lang.c++.moderated (which he co-founded). He is the author of C++ Solutions, the companion to The C++ Programming Language, 3rd Edition. Nicolai M. Josuttis is well known for his best-selling de-facto standard bookThe C++ Standard Library - A Tutorial and Reference. He is an independent technical consultant who designs object-oriented software for the telecommunications, traffic, finance, and manufacturing industries. He is an active member of the C++ Standard Committee and a partner at System Bauhaus, a German group of prominent object-oriented system development experts. Josuttis has written several other books on object-oriented programming and C++. Doug Gregor is Senior Swift/C++/Objective-C Compiler Engineer at Apple. He holds a PhD in computer science from Rensselaer Polytechnic Institute, and did post-doctoral work at Indiana University.show more

Table of contents

Preface Acknowledgments for the Second Edition Acknowledgments for the First Edition About This Book Part I: The Basics Chapter 1: Function Templates Chapter 2: Class Templates Chapter 3: Nontype Template Parameters Chapter 4: Variadic Templates Chapter 5: Tricky Basics Chapter 6: Move Semantics and enable_if Chapter 7: By-Value or By-Reference? Chapter 8: Compile-Time Programming Chapter 9: Using Templates in Practice Chapter 10: Basic Template Terminology Chapter 11: Generic Libraries Part II: Templates in Depth Chapter 12: Fundamentals in Depth Chapter 13: Names in Templates Chapter 14: Instantiation Chapter 15: Template Argument Deduction Chapter 16: Specialization and Overloading Chapter 17: Future Directions Part III: Templates and Design Chapter 18: The Polymorphic Power of Templates Chapter 19: Implementing Traits Chapter 20: Overloading on Type Properties Chapter 21: Templates and Inheritance Chapter 22: Bridging and Static and Dynamic Polymorphism Chapter 23: Metaprograms Chapter 24: Typelists Chapter 25: Tuples Chapter 26: Discriminated Unions Chapter 27: Expression Templates Chapter 28: Debugging Templates Appendixes Appendix A: The One-Definition Rule Appendix B: Value Categories Appendix C: Overload Resolution Appendix D: Standard Type and Meta Utilities Appendix E: Concepts Bibliography Glossary Indexshow more