-
- Weitere Informationen zu diesem Buch:
Inhaltsverzeichnis | Index | Probekapitel | Kolophon | Rezensionen |
Beispiele |
- Weitere Informationen zu diesem Buch:
Second Edition Dezember 2002
ISBN 978-0-596-00419-4
Weitere Informationen zu diesem Buch
Inhaltsverzeichnis |
Index |
Probekapitel |
Kolophon |
Rezensionen |
Beispiele |
Inhaltsverzeichnis
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 Exercises3. Style
Comments
C++ Code
Naming Style
Coding Religion
Indentation and Code Format
Clarity
Simplicity
Consistency and Organization
Further Reading
Summary4. Basic Declarations and Expressions
Basic Program Structure
Simple Expressions
The std::cout Output Object
Variables and Storage
Variable Declarations
Integers
Assignment Statements
Floating-Point Numbers
Floating-Point Divide Versus Integer Divide
Characters
Wide Characters
Boolean Type
Programming Exercises
Answers to Chapter Questions5. 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 Questions6. 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 Questions7. 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 ExercisesPart II. Simple Programming
8. More Control Statements
for Statement
switch Statement
switch, break, and continue
Programming Exercises
Answers to Chapter Questions9. 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 Questions10. The C++ Preprocessor
#define Statement
Conditional Compilation
#include Files
Parameterized Macros
Advanced Features
Summary
Programming Exercises
Answers to Chapter Questions11. 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 QuestionsPart 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 Questions13. Simple Classes
Stacks
Improved Stack
Using a Class
Introduction to Constructors and Destructors
Automatically Generated Member Functions
Shortcuts
Style
Structures Versus Classes
Programming Exercises14. More on Classes
Friends
Constant Functions
Constant Members
Static Member Variables
Static Member Functions
The Meaning of static
Programming Exercises15. Simple Pointers
const Pointers
Pointers and Printing
Pointers and Arrays
The reinterpret_cast
Pointers and Structures
Command-Line Arguments
Programming Exercises
Answers to Chapter QuestionsPart 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 Questions17. 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 Questions18. 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 Questions19. 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 Exercises20. 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 Questions21. 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 QuestionsPart V. Other Language Features
22. Exceptions
Adding Exceptions to the Stack Class
Exceptions Versus assert
Programming Exercises23. 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 Exercises24. 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 Exercises25. 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
Exercises26. Program Design
Design Goals
Design Factors
Design Principles
Coding
Objects
Real-World Design Techniques
Conclusion27. Putting It All Together
Requirements
Code Design
Coding
Functional Description
Testing
Revisions
A Final Warning
Program Files
Programming Exercises28. 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 Exercise29. 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 Questions30. Programming Adages
General
Design
Declarations
switch Statement
Preprocessor
Style
Compiling
The Ten Commandments for C++ Programmers
Final Note
Answers to Chapter QuestionsPart VI. Appendixes
A. ASCII Table
B. Ranges
C. Operator Precedence Rules
D. Computing Sine Using a Power Series
E. Resources
Index
Zurück zu Practical C++ Programming