一、目录介绍
Preface Part I. The Basics
1. What Is C++? A Brief History of C++ C++ Organization How to Learn C++
2. The Basics of Program Writing Programs from Conception to Execution
Creating a Real Program Getting Help in Unix Getting Help in an IDE Programming Exercises
3. Style Comments C++ Code Naming Style Coding Religion Indentation and Code Format
Clarity Simplicity Consistency and Organization Further Reading Summary
4. Basic Declarations and Expressions Basic Program Structure Simple Expressions
The std::cout Output Object Variables and Storage Variable Declarations Assignment
Statements Floating-Point Numbers Floating-Point Divide Versus Integer Divide
Characters Wide Characters Boolean Type Programming Exercises Answers to Chapter
Questions
5. Arrays, Qualifiers, and Reading Numbers Arrays Strings Reading Data Initializing
Variables Multidimensional Arrays C-Style Strings Types of Integers Types of Floats
Constant and Reference Declarations Qualifiers Hexadecimal and Octal Constants Operators
for Performing Shortcuts Side Effects Programming Exercises Answers to Chapter Questions
6. Decision and Control Statements if Statement else Statement How Not to Use std::strcmp
Looping Statements while Statement break Statement continue Statement The Assignment Anywhere
Side Effect Programming Exercises Answers to Chapter Questions 7. The Programming Process
Setting Up Your Work Area The Specification Code Design The Prototype The Makefile Testing
Debugging Maintenance Revisions Electronic Archaeology Mark Up the Program Use the Debugger
Use the Text Editor as a Browser Add Comments Programming Exercises Part II. Simple Programming
8. More Control Statements for Statement switch Statement switch, break, and continue Programming
Exercises Answers to Chapter Questions
9. Variable Scope and Functions Scope and Storage Class Namespaces Functions Summary of Parameter
Types Recursion Structured Programming Basics Real-World Programming Programming Exercises Answers to Chapter Questions
10. The C++ Preprocessor define Statement Conditional Compilation include Files Parameterized Macros Advanced Features
Summary Programming Exercises Answers to Chapter Questions
11. Bit Operations Bit Operators The AND Operator (&) Bitwise OR (|) The Bitwise Exclusive OR (^) The Ones Complement
Operator (NOT) (~) The Left and Right Shift Operators (>) Setting, Clearing, and Testing Bits Bitmapped Graphics
Programming Exercises Answers to Chapter Questions Part III. Advanced Types and Classes
12. Advanced Types Structures Unions typedef enum Type Bit Members or Packed Structures Arrays of Structures
Programming Exercises Answers to Chapter Questions
13. Simple Classes Stacks Improved Stack Using a Class Introduction to Constructors and Destructors Automatically
Generated Member Functions Shortcuts Style Structures Versus Classes Programming Exercises
14. More on Classes Friends Constant Functions Constant Members Static Member Variables Static Member Functions
The Meaning of static Programming Exercises
15. Simple Pointers const Pointers Pointers and Printing Pointers and Arrays The reinterpret_cast Pointers and
Structures Command-Line Arguments Programming Exercises Answers to Chapter Questions Part IV. Advanced Programming Concepts
16. File Input/Output C++ File I/O Conversion Routines Binary and ASCII Files The End-of-Line Puzzle Binary I/O
Buffering Problems Unbuffered I/O Designing File Formats C-Style I/O Routines C-Style Conversion Routines C-Style Binary I/O
C- Versus C++- Style I/O Programming Exercises Answers to Chapter Questions
17. Debugging and Optimization Code Reviews Serial Debugging Going Through the Output Interactive Debuggers Debugging a
Binary Search Interactive Debugging Tips and Tricks Runtime Errors Optimization How to Optimize Case Study: Inline Functions
Versus Normal Functions Case Study: Optimizing a Color-Rendering Algorithm Programming Exercises Answers to Chapter Questions
18. Operator Overloading Creating a Simple Fixed-Point Class Operator Functions Operator Member Functions Warts Full Definition
of the Fixed-Point Class Programming Exercises Answers to Chapter Questions
19. Floating Point Floating-Point Format Floating Addition/Subtraction Multiplication and Division Overflow and Underflow
Roundoff Error Accuracy Minimizing Roundoff Error Determining Accuracy Precision and Speed Power Series Programming Exercises
20. Advanced Pointers Pointers, Structures, and Classes delete Operator Linked Lists Ordered Linked Lists Doubly Linked Lists
Trees Printing a Tree The Rest of the Program Data Structures for a Chess Program Programming Exercises Answers to Chapter
Questions
21. Advanced Classes Derived Classes Virtual Functions Virtual Classes Function Hiding in Derived Classes Constructors and
Destructors in Derived Classes The dynamic_cast Operator Summary Programming Exercises Answers to Chapter Questions Part V.
Other Language Features 22. Exceptions Adding Exceptions to the Stack Class Exceptions Versus assert Programming Exercises
23. Modular Programming Modules Public and Private The extern Storage Class Headers The Body of the Module A Program to Use
Infinite Arrays The Makefile for Multiple Files Using the Infinite Array Dividing a Task into Modules Module Design Guidelines
Programming Exercises
24. Templates What Is a Template? Templates: The Hard Way Templates: The C++ Way Function Specialization Class Templates
Class Specialization Implementation Details Advanced Features Summary Programming Exercises
25. Standard Template Library STL Basics Class List-A Set of Students Creating a Waiting List with the STL List Storing
Grades in a STL Map Putting It All Together Practical Considerations When Using the STL Getting More Information Exercises
26. Program Design Design Goals Design Factors Design Principles Coding Objects Real-World Design echniques Conclusion
27. Putting It All Together Requirements Code Design Coding Functional Description Testing Revisions A Final Warning Program
Files Programming Exercises
28. From C to C++ K&R-Style Functions struct malloc and free Turning Structures into Classes setjmp and longjmp Mixing C
and C++ Code Summary Programming Exercise
29. C++’s Dustier Corners do/while goto The ? : Construct The Comma Operator Overloading the ( ) Operator Pointers to
Members The asm Statement The mutable Qualifier Run Time Type Identification Trigraphs Answers to Chapter Questions
30. Programming Adages General Design Declarations switch Statement Preprocessor Style Compiling The Ten Commandments for
C++ Programmers Final Note Answers to Chapter Questions Part VI. Appendixes A. ASCII Table B. Ranges C. Operator Precedence
Rules D. Computing Sine Using a Power Series E. Resources Index