Pearson Books home
Browse and buy books online Information for authors Browse our academic online catalogue Resources for schools and English language teaching Online courses and companion websites Online ordering for trade customers
The Reg Bookshop home > Exceptional C++ Style
Business BooksBusiness
Careers & Personal Development BooksCareers & Personal Development
Computing BooksComputing
Economics BooksEconomics
Education BooksEducation
Engineering BooksEngineering
Finance and Accounting BooksFinance and Accounting
History BooksHistory
Humanities BooksHumanities
Languages BooksLanguages
Law & Criminology BooksLaw & Criminology
Leisure, Hospitality & Tourism BooksLeisure, Hospitality & Tourism
Life Skills BooksLife Skills
Marketing BooksMarketing
Mathematics BooksMathematics
Revision, York Notes & Study Skills BooksRevision, York Notes & Study Skills
Psychology BooksPsychology
Science BooksScience
Social Science BooksSocial Science
Exceptional C++ Style

Exceptional C++ Style

40 New Engineering Puzzles, Programming Problems, and Solutions

Herb Sutter

Aug 2004, Paperback, 352 pages 
ISBN13: 9780201760422
ISBN10: 0201760428
Special online offer - Save 30%
Was £30.99, Now £21.69 Buy Exceptional C++ Style

Description  Back Cover  Contents  Author  

Description

Software "style" is about finding the perfect balance between overhead and functionality... elegance and maintainability... flexibility and excess. In Exceptional C++ Style, legendary C++ guru Herb Sutter presents 40 new programming scenarios designed to analyze not only the what but the why and help you find just the right balance in your software.

Organized around practical problems and solutions, this book offers new insight into crucial C++ details and interrelationships, and new strategies for today's key C++ programming techniques--including generic programming, STL, exception safety, and more. You'll find answers to questions like:

  • What can you learn about library design from the STL itself?
  • How do you avoid making templated code needlessly non-generic?
  • Why shouldn't you specialize function templates? What should you do instead?
  • How does exception safety go beyond try and catch statements?
  • Should you use exception specifications, or not?
  • When and how should you "leak" the private parts of a class?
  • How do you make classes safer for versioning?
  • What's the real memory cost of using standard containers?
  • How can using const really optimize your code?
  • How does writing inline affect performance?
  • When does code that looks wrong actually compile and run perfectly, and why should you care?
  • What's wrong with the design of std::string?

Exceptional C++ Style will help you design, architect, and code with style--and achieve greater robustness and performance in all your C++ software.



top

Back Cover

Software "style" is about finding the perfect balance between overhead and functionality... elegance and maintainability... flexibility and excess. In Exceptional C++ Style, legendary C++ guru Herb Sutter presents 40 new programming scenarios designed to analyze not only the what but the why and help you find just the right balance in your software.

Organized around practical problems and solutions, this book offers new insight into crucial C++ details and interrelationships, and new strategies for today's key C++ programming techniques--including generic programming, STL, exception safety, and more. You'll find answers to questions like:

  • What can you learn about library design from the STL itself?
  • How do you avoid making templated code needlessly non-generic?
  • Why shouldn't you specialize function templates? What should you do instead?
  • How does exception safety go beyond try and catch statements?
  • Should you use exception specifications, or not?
  • When and how should you "leak" the private parts of a class?
  • How do you make classes safer for versioning?
  • What's the real memory cost of using standard containers?
  • How can using const really optimize your code?
  • How does writing inline affect performance?
  • When does code that looks wrong actually compile and run perfectly, and why should you care?
  • What's wrong with the design of std::string?

Exceptional C++ Style will help you design, architect, and code with style--and achieve greater robustness and performance in all your C++ software.



top

Contents

Preface.

GENERIC PROGRAMMING AND THE C++ STANDARD LIBRARY.

1. Uses and Abuses of vector.

2. The String Formatters of Manor Farm, Part 1: sprintf.

3. The String Formatters of Manor Farm, Part 2: Standard (or Blindingly Elegant) Alternatives.

4. Standard Library Member Functions.

5. Flavors of Genericity, Part 1: Covering the Basis [sic].

6. Flavors of Genericity, Part 2: Generic Enough?

7. Why Not Specialize Function Templates?

8. Befriending Templates.

9. Export Restrictions, Part 1: Fundamentals.

10. Export Restrictions, Part 2: Interactions, Usability Issues, and Guidelines.

EXCEPTION SAFETY ISSUES AND TECHNIQUES.

11. Try and Catch Me.

12. Exception Safety: Is It Worth It?

13. A Pragmatic Look at Exception Specifications.

CLASS DESIGN, INHERITANCE, AND POLYMORPHISM.

14. Order, Order!

15. Uses and Abuses of Access Rights.

16. (Mostly) Private.

17. Encapsulation.

18. Virtuality.

19. Enforcing Rules for Derived Classes.

MEMORY AND RESOURCE MANAGEMENT.

20. Containers in Memory, Part 1: Levels of Memory Management.

21. Containers in Memory, Part 2: How Big Is It Really?

22. To new, Perchance to throw, Part 1: The Many Faces of new.

23. To new, Perchance to throw, Part 2: Pragmatic Issues in Memory Management.

OPTIMIZATION AND EFFICIENCY.

24. Constant Optimization?

25. inline Redux.

26. Data Formats and Efficiency, Part 1: When Compression Is the Name of the Game.

27. Data Formats and Efficiency, Part 2: (Even Less) Bit-Twiddling.

TRAPS, PITFALLS, AND PUZZLERS.

28. Keywords That Aren't (or, Comments by Another Name).

29. Is It Initialization?

30. double or Nothing.

31. Amok Code.

32. Slight Typos? Graphic Language and Other Curiosities.

33. Operators, Operators Everywhere.

STYLE CASE STUDIES.

34. Index Tables.

35. Generic Callbacks.

36. Construction Unions.

37. Monoliths "Unstrung," Part 1: A Look at std::string.

38. Monoliths "Unstrung," Part 2: Refactoring std::string.

39. Monoliths "Unstrung," Part 3: std::string Diminishing.

40. Monoliths "Unstrung," Part 4: std::string Redux.

Bibliography.

Index.

top

Author

Herb Sutter is the author of three highly acclaimed books, Exceptional C++ Style, Exceptional C++, and More Exceptional C++ (Addison-Wesley). He chairs the ISO C++ standards committee, and is contributing editor and columnist for C/C++ Users Journal. As a software architect for Microsoft, Sutter leads the design of C++ language extensions for .NET programming.



top


Product Search

People also bought



Copyright Pearson EducationLegal Notice Privacy Notice