Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


C++ Gems

C++ Gems

C++ Gems

Programming Pearls from The C++ Report
Stanley B. Lippman
January 1996
Paperback
9781884842375

    The support of the C++ Report by the pioneers of the language has always made it a popular magazine. Stan Lippman, former C++ Report Editor (and best-selling author), brings you pearls of wisdom for getting the most out of C++. This carefully selected collection covers the first seven years of the C++ Report, from January 1989 through December 1995. It presents the pinnacle of writing on C++ by renowned experts in the field, and is a must-read for today's C++ programmer. It contains tips, tricks, proven strategies, easy-to-follow techniques, and usable source code. This collection includes the work of John J. Barton, Pete Becker, Bill Berg, Grady Booch, Tom Cargill, Steve Clamage, James Coplien, Steve Dewhurst, Richard Hickey, David Jordan, Michael Kim, Andy Koenig, Tasos Kontogiorgos, Josée Lajoie, Doug Lea, Nathan Myers, Lee Nackman, Ed Rowlance, Doug Schmidt, Jerry Schwarz, Bjarne Stroustrup, Steve Teale, Michael Stiemann, Todd Veldhuizen, Mike Vilot, John Vlissides, and Jim Waldo.

    • Contains over 40 short and concise articles
    • Each article is not readily available anywhere else (excluding back issues of C++ Report)
    • Aimed at the experienced C++ user, broken down into four helpful sections: design, programming idioms, applications, and language

    Reviews & endorsements

    'Stan has assembled a truly remarkable collection, valuable not just for its historical interest but also for its technical merit. The time spent reading these articles will be valuable investment for anyone who uses C++.' Robert Murray, from the Foreword

    See more reviews

    Product details

    January 1996
    Paperback
    9781884842375
    601 pages
    228 × 152 mm
    0kg
    Replaced by 9780135705810

    Table of Contents

    • Introduction: the C++ report - so far S. Lippman
    • First Thoughts:
    • 1. Standardizing C++ B. Stroustrup
    • 2. Retrospective T. Cargill
    • Section I. A Focus on Programming Design: Part I. Library Design in C++:
    • 3. Library design using C++ B. Stroustrup
    • 4. The GNU C++ library D. Lea
    • 5. The design and architecture of tools.h++ T. Keffer
    • 6. Simplifying the Booch components G. Booch and M. Vilot
    • 7. Design generalization in the C++ standard library M. Vilot
    • Part II. Software Design/Patterns in C++:
    • 8. A case study of C++ design evolution D. Schmidt
    • 9. Distributed abstract interface J. Coplien
    • 10. Pattern hatching J. Vlissides
    • Section II. A Focus on Programming Idioms: Part III. C++ Programming:
    • 11. How to write Buggy programs A. Koenig
    • 12. A dynamic vector is harder than it looks T. Cargill
    • 13. Writing multithreaded applications in C++ P. Becker
    • 14. Transplanting a tree-recursive LISP algorithm to C++ S. Teale
    • Part IV. Special Programming Idioms:
    • 15. Class derivation and emulation of virtual contructors D. Jordan
    • 16. Virtual constructors revisited T. Cargill
    • 17. Initializing static variables in C++ Library J. Schwarz
    • 18. Objects as return values M. Tiemann
    • 19. Applying the copy constructor S. Lippman
    • Section III. A Focus on Applications: Part V. Experience Case Studies:
    • 20. O-O benefits of Pascal to C++ conversion J. Waldo
    • 21. A C++ template-based application architecture T. Kontogiorgos and M. Kim
    • 22. An object-oriented framework for I/O B. Berg and E. Rowlance
    • Part VI. Distributed Object Computing in C++:
    • 23. Distributed object computing in C++ S. Vinoski and D. Schmidt
    • 24. Comparing alternative distributed programming techniques S. Vinoski and D. Schmidt
    • 25. Comparing alternative server programming techniques S. Vinoski and D. Schmidt
    • Section IV. A Focus on Language: Part VII. Operators New and Delete:
    • 26. Memory management in C++ N. Myers
    • 27. Memory management, DLLs, and C++ P. Becker
    • 28. Implementing new and delete S. Clamage
    • Part VIII. Exception Handling:
    • 29. Exception handling: behind the scenes J. Lajoie
    • 30. Exceptions and windowing systems P. Becker
    • 31. Exception handling: a false sense of security T. Cargill
    • Part IX. Templates:
    • 32. Standard C++ templates: new and improved, like your favorite detergent:-) J. Lajoie
    • 33. A new and useful template technique: 'traits' N. Myers
    • 34. Using C++ template metaprograms T. Veldhuizen
    • 35. Expression templates T. Veldhuizen
    • 36. What's that template argument about? J. Barton and L. Nackman
    • 37. Algebra for C++ operators J. Barton and L. Nackman
    • 38. Callbacks in C++ using template functors R. Hickey
    • Part X. Standard Template Library:
    • 39. Standard template library M. Vilot
    • 40. Making a vector fit for a standard B. Stroustrup
    • Last Thoughts:
    • 41. A perspective on ISO C++ B. Stroustrup.
      Contributors
    • S. Lippman, B. Stroustrup, T. Cargill, D. Lea, T. Keffer, G. Booch, M. Vilot, D. Schmidt, J. Coplien, J. Vlissides, A. Koenig, P. Becker, S. Teale, D. Jordan, J. Schwarz, M. Tiemann, J. Waldo, T. Kontogiorgos, M. Kim, B. Berg, E. Rowlance, S. Vinoski, N. Myers, S. Clamage, J. Lajoie, N. Myers, T. Veldhuizen, J. Barton, L. Nackman, R. Hickey, M. Vilot