Book description
More than three-quarters of a million programmers have benefited from this book in all of its editions
Written by Bjarne Stroustrup, the creator of C++, this is the world's most trusted and widely read book on C++.
For this special hardcover edition, two new appendixes on locales and standard library exception safety (also available at www.research.att.com/~bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components.
For example:
abstract classes as interfaces
class hierarchies for object-oriented programming
templates as the basis for type-safe generic software
exceptions for regular error handling
namespaces for modularity in large-scale software
run-time type identification for loosely coupled systems
the C subset of C++ for C compatibility and system-level work
standard containers and algorithms
standard strings, I/O streams, and numerics
C compatibility, internationalization, and exception safety
Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable.
Table of contents
- Copyright
- Preface
- Preface to the Second Edition
- Preface to the First Edition
-
Introduction
- 1. Notes to the Reader
- 2. A Tour of C++
- 3. A Tour of the Standard Library
-
I. Basic Facilities
- 4. Types and Declarations
- 5. Pointers, Arrays, and Structures
- 6. Expressions and Statements
- 7. Functions
-
8. Namespaces and Exceptions
- 8.1. Modularization and Interfaces
- 8.2. Namespaces
- 8.3. Exceptions
- 8.4. Advice
- 8.5. Exercises
- 9. Source Files and Programs
-
II. Abstraction Mechanisms
-
10. Classes
- 10.1. Introduction
- 10.2. Classes
- 10.3. Efficient User-Defined Types
- 10.4. Objects
- 10.5. Advice
- 10.6. Exercises
-
11. Operator Overloading
- 11.1. Introduction
- 11.2. Operator Functions
- 11.3. A Complex Number Type
- 11.4. Conversion Operators
- 11.5. Friends
- 11.6. Large Objects
- 11.7. Essential Operators
- 11.8. Subscripting
- 11.9. Function Call
- 11.10. Dereferencing
- 11.11. Increment and Decrement
- 11.12. A String Class
- 11.13. Advice
- 11.14. Exercises
- 12. Derived Classes
- 13. Templates
-
14. Exception Handling
- 14.1. Error Handling
- 14.2. Grouping of Exceptions
- 14.3. Catching Exceptions
- 14.4. Resource Management
- 14.5. Exceptions That Are Not Errors
- 14.6. Exception Specifications
- 14.7. Uncaught Exceptions
- 14.8. Exceptions and Efficiency
- 14.9. Error-Handling Alternatives
- 14.10. Standard Exceptions
- 14.11. Advice
- 14.12. Exercises
- 15. Class Hierarchies
-
10. Classes
-
III. The Standard Library
- 16. Library Organization and Containers
- 17. Standard Containers
-
18. Algorithms and Function Objects
- 18.1. Introduction
- 18.2. Overview of Standard Library Algorithms
- 18.3. Sequences and Containers
- 18.4. Function Objects
- 18.5. Nonmodifying Sequence Algorithms
- 18.6. Modifying Sequence Algorithms
- 18.7. Sorted Sequences
- 18.8. Heaps
- 18.9. Min and Max
- 18.10. Permutations
- 18.11. C-Style Algorithms
- 18.12. Advice
- 18.13. Exercises
- 19. Iterators and Allocators
-
20. Strings
- 20.1. Introduction
- 20.2. Characters
-
20.3. Basic_string
- 20.3.1. Types
- 20.3.2. Iterators
- 20.3.3. Element Access
- 20.3.4. Constructors
- 20.3.5. Errors
- 20.3.6. Assignment
- 20.3.7. Conversion to C-Style Strings
- 20.3.8. Comparisons
- 20.3.9. Insert
- 20.3.10. Concatenation
- 20.3.11. Find
- 20.3.12. Replace
- 20.3.13. Substrings
- 20.3.14. Size and Capacity
- 20.3.15. I/O Operations
- 20.3.16. Swap
- 20.4. The C Standard Library
- 20.5. Advice
- 20.6. Exercises
- 21. Streams
- 22. Numerics
-
IV. Design Using C++
-
23. Development and Design
- 23.1. Overview
- 23.2. Introduction
- 23.3. Aims and Means
- 23.4. The Development Process
- 23.5. Management
-
23.6. Annotated Bibliography
- 23.7. Advice
-
24. Design and Programming
- 24.1. Overview
- 24.2. Design and Programming Language
- 24.3. Classes
- 24.4. Components
- 24.5. Advice
- 25. Roles of Classes
-
23. Development and Design
-
Appendices and Index
- A. Grammar
- B. Compatibility
-
C. Technicalities
- C.1. Introduction and Overview
- C.2. The Standard
- C.3. Character Sets
- C.4. Types of Integer Literals
- C.5. Constant Expressions
- C.6. Implicit Type Conversion
- C.7. Multidimensional Arrays
- C.8. Saving Space
- C.9. Memory Management
- C.10. Namespaces
- C.11. Access Control
- C.12. Pointers to Data Members
-
C.13. Templates
- C.13.1. Static Members
- C.13.2. Friends
- C.13.3. Templates as Template Parameters
- C.13.4. Deducing Function Template Arguments
- C.13.5. Typename and Template
- C.13.6. Template as a Qualifier
- C.13.7. Instantiation
- C.13.8. Name Binding
- C.13.9. When Is a Specialization Needed?
- C.13.10. Explicit Instantiation
- C.14. Advice
-
D. Locales
- D.1. Handling Cultural Differences
- D.2. The locale Class
- D.3. Facets
- D.4. Standard Facets
- D.5. Advice
- D.6. Exercises
- E. Standard-Library Exception Safety
Product information
- Title: The C++ Programming Language, Special Edition
- Author(s):
- Release date: February 2000
- Publisher(s): Addison-Wesley Professional
- ISBN: 0201700735
You might also like
book
Beginning C++ Game Programming - Second Edition
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 …
book
C++ Gotchas: Avoiding Common Problems in Coding and Design
"This may well be the best C++ book I have ever read. I was surprised by …
book
The Design and Evolution of C++, First Edition
The inventor of C++ presents the definitive insider's guide to the design and development of the …
book
Exceptional C++ Style 40 New Engineering Puzzles, Programming Problems, and Solutions
Software "style" is about finding the perfect balance between overhead and functionality... elegance and maintainability... flexibility …