Practical c++ programmin

665 80 0
Practical c++ programmin

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com I l@ve RuBoard • • • • • • Table of Contents Index Reviews Examples Reader Reviews Errata Practical C++ Programming By Steve Oualline Publisher Pub Date ISBN Pages : O'Reilly : December 2002 : 0-596-00419-2 : 574 In short, to-the-point chapters, Practical C++ Programming covers all aspects of programming including style, software engineering, programming design, object-oriented design, and debugging It also covers common mistakes and how to find (and avoid) them End of chapter exercises help you ensure you've mastered the material Steve Oualline's clear, easy-going writing style and hands-on approach to learning make Practical C++ Programming a nearly painless way to master this complex but powerful programming language I l@ve RuBoard This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com I l@ve RuBoard • • • • • • Table of Contents Index Reviews Examples Reader Reviews Errata Practical C++ Programming By Steve Oualline Publisher Pub Date ISBN Pages : O'Reilly : December 2002 : 0-596-00419-2 : 574 Copyright Preface Scope of This Handbook How This Book Is Organized How to Read This Book If You Already Know C Font Conventions How to Contact Us Acknowledgments for the First Edition Acknowledgments for the Second Edition Part I: The Basics Chapter What Is C++? Section 1.1 A Brief History of C++ Section 1.2 C++ Organization Section 1.3 How to Learn C++ Chapter The Basics of Program Writing Section 2.1 Programs from Conception to Execution Section 2.2 Creating a Real Program Section 2.3 Getting Help in Unix Section 2.4 Getting Help in an IDE Section 2.5 Programming Exercises Chapter Style This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Section 3.1 Comments Section 3.2 C++ Code Section 3.3 Naming Style Section 3.4 Coding Religion Section 3.5 Indentation and Code Format Section 3.6 Clarity Section 3.7 Simplicity Section 3.8 Consistency and Organization Section 3.9 Further Reading Section 3.10 Summary Chapter Basic Declarations and Expressions Section 4.1 Basic Program Structure Section 4.2 Simple Expressions Section 4.3 The std::cout Output Object Section 4.4 Variables and Storage Section 4.5 Variable Declarations Section 4.6 Integers Section 4.7 Assignment Statements Section 4.8 Floating-Point Numbers Section 4.9 Floating-Point Divide Versus Integer Divide Section 4.10 Characters Section 4.11 Wide Characters Section 4.12 Boolean Type Section 4.13 Programming Exercises Section 4.14 Answers to Chapter Questions Chapter Arrays, Qualifiers, and Reading Numbers Section 5.1 Arrays Section 5.2 Strings Section 5.3 Reading Data Section 5.4 Initializing Variables Section 5.5 Multidimensional Arrays Section 5.6 C-Style Strings Section 5.7 Types of Integers Section 5.8 Types of Floats Section 5.9 Constant and Reference Declarations Section 5.10 Qualifiers Section 5.11 Hexadecimal and Octal Constants Section 5.12 Operators for Performing Shortcuts Section 5.13 Side Effects Section 5.14 Programming Exercises Section 5.15 Answers to Chapter Questions Chapter Decision and Control Statements Section 6.1 if Statement Section 6.2 else Statement Section 6.3 How Not to Use std::strcmp Section 6.4 Looping Statements Section 6.5 while Statement Section 6.6 break Statement Section 6.7 continue Statement Section 6.8 The Assignment Anywhere Side Effect This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Section 6.9 Programming Exercises Section 6.10 Answers to Chapter Questions Chapter The Programming Process Section 7.1 Setting Up Your Work Area Section 7.2 The Specification Section 7.3 Code Design Section 7.4 The Prototype Section 7.5 The Makefile Section 7.6 Testing Section 7.7 Debugging Section 7.8 Maintenance Section 7.9 Revisions Section 7.10 Electronic Archaeology Section 7.11 Mark Up the Program Section 7.12 Use the Debugger Section 7.13 Use the Text Editor as a Browser Section 7.14 Add Comments Section 7.15 Programming Exercises Part II: Simple Programming Chapter More Control Statements Section 8.1 for Statement Section 8.2 switch Statement Section 8.3 switch, break, and continue Section 8.4 Programming Exercises Section 8.5 Answers to Chapter Questions Chapter Variable Scope and Functions Section 9.1 Scope and Storage Class Section 9.2 Namespaces Section 9.3 Functions Section 9.4 Summary of Parameter Types Section 9.5 Recursion Section 9.6 Structured Programming Basics Section 9.7 Real-World Programming Section 9.8 Programming Exercises Section 9.9 Answers to Chapter Questions Chapter 10 The C++ Preprocessor Section 10.1 #define Statement Section 10.2 Conditional Compilation Section 10.3 #include Files Section 10.4 Parameterized Macros Section 10.5 Advanced Features Section 10.6 Summary Section 10.7 Programming Exercises Section 10.8 Answers to Chapter Questions Chapter 11 Bit Operations Section 11.1 Bit Operators Section 11.2 The AND Operator (&) Section 11.3 Bitwise OR (|) This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Section 11.3 Bitwise OR (|) Section 11.4 The Bitwise Exclusive OR (^) Section 11.5 The Ones Complement Operator (NOT) (~) Section 11.6 The Left and Right Shift Operators () Section 11.7 Setting, Clearing, and Testing Bits Section 11.8 Bitmapped Graphics Section 11.9 Programming Exercises Section 11.10 Answers to Chapter Questions Part III: Advanced Types and Classes Chapter 12 Advanced Types Section 12.1 Structures Section 12.2 Unions Section 12.3 typedef Section 12.4 enum Type Section 12.5 Bit Members or Packed Structures Section 12.6 Arrays of Structures Section 12.7 Programming Exercises Section 12.8 Answers to Chapter Questions Chapter 13 Simple Classes Section 13.1 Stacks Section 13.2 Improved Stack Section 13.3 Using a Class Section 13.4 Introduction to Constructors and Destructors Section 13.5 Automatically Generated Member Functions Section 13.6 Shortcuts Section 13.7 Style Section 13.8 Structures Versus Classes Section 13.9 Programming Exercises Chapter 14 More on Classes Section 14.1 Friends Section 14.2 Constant Functions Section 14.3 Constant Members Section 14.4 Static Member Variables Section 14.5 Static Member Functions Section 14.6 The Meaning of static Section 14.7 Programming Exercises Chapter 15 Simple Pointers Section 15.1 const Pointers Section 15.2 Pointers and Printing Section 15.3 Pointers and Arrays Section 15.4 The reinterpret_cast Section 15.5 Pointers and Structures Section 15.6 Command-Line Arguments Section 15.7 Programming Exercises Section 15.8 Answers to Chapter Questions Part IV: Advanced Programming Concepts Chapter 16 File Input/Output Section 16.1 C++ File I/O This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Section 16.1 C++ File I/O Section 16.2 Conversion Routines Section 16.3 Binary and ASCII Files Section 16.4 The End-of-Line Puzzle Section 16.5 Binary I/O Section 16.6 Buffering Problems Section 16.7 Unbuffered I/O Section 16.8 Designing File Formats Section 16.9 C-Style I/O Routines Section 16.10 C-Style Conversion Routines Section 16.11 C-Style Binary I/O Section 16.12 C- Versus C++- Style I/O Section 16.13 Programming Exercises Section 16.14 Answers to Chapter Questions Chapter 17 Debugging and Optimization Section 17.1 Code Reviews Section 17.2 Serial Debugging Section 17.3 Going Through the Output Section 17.4 Interactive Debuggers Section 17.5 Debugging a Binary Search Section 17.6 Interactive Debugging Tips and Tricks Section 17.7 Runtime Errors Section 17.8 Optimization Section 17.9 How to Optimize Section 17.10 Case Study: Inline Functions Versus Normal Functions Section 17.11 Case Study: Optimizing a Color-Rendering Algorithm Section 17.12 Programming Exercises Section 17.13 Answers to Chapter Questions Chapter 18 Operator Overloading Section 18.1 Creating a Simple Fixed-Point Class Section 18.2 Operator Functions Section 18.3 Operator Member Functions Section 18.4 Warts Section 18.5 Full Definition of the Fixed-Point Class Section 18.6 Programming Exercises Section 18.7 Answers to Chapter Questions Chapter 19 Floating Point Section 19.1 Floating-Point Format Section 19.2 Floating Addition/Subtraction Section 19.3 Multiplication and Division Section 19.4 Overflow and Underflow Section 19.5 Roundoff Error Section 19.6 Accuracy Section 19.7 Minimizing Roundoff Error Section 19.8 Determining Accuracy Section 19.9 Precision and Speed Section 19.10 Power Series Section 19.11 Programming Exercises Chapter 20 Advanced Pointers Section 20.1 Pointers, Structures, and Classes This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Section 20.2 delete Operator Section 20.3 Linked Lists Section 20.4 Ordered Linked Lists Section 20.5 Doubly Linked Lists Section 20.6 Trees Section 20.7 Printing a Tree Section 20.8 The Rest of the Program Section 20.9 Data Structures for a Chess Program Section 20.10 Programming Exercises Section 20.11 Answers to Chapter Questions Chapter 21 Advanced Classes Section 21.1 Derived Classes Section 21.2 Virtual Functions Section 21.3 Virtual Classes Section 21.4 Function Hiding in Derived Classes Section 21.5 Constructors and Destructors in Derived Classes Section 21.6 The dynamic_cast Operator Section 21.7 Summary Section 21.8 Programming Exercises Section 21.9 Answers to Chapter Questions Part V: Other Language Features Chapter 22 Exceptions Section 22.1 Adding Exceptions to the Stack Class Section 22.2 Exceptions Versus assert Section 22.3 Programming Exercises Chapter 23 Modular Programming Section 23.1 Modules Section 23.2 Public and Private Section 23.3 The extern Storage Class Section 23.4 Headers Section 23.5 The Body of the Module Section 23.6 A Program to Use Infinite Arrays Section 23.7 The Makefile for Multiple Files Section 23.8 Using the Infinite Array Section 23.9 Dividing a Task into Modules Section 23.10 Module Design Guidelines Section 23.11 Programming Exercises Chapter 24 Templates Section 24.1 What Is a Template? Section 24.2 Templates: The Hard Way Section 24.3 Templates: The C++ Way Section 24.4 Function Specialization Section 24.5 Class Templates Section 24.6 Class Specialization Section 24.7 Implementation Details Section 24.8 Advanced Features Section 24.9 Summary Section 24.10 Programming Exercises This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Chapter 25 Standard Template Library Section 25.1 STL Basics Section 25.2 Class List—A Set of Students Section 25.3 Creating a Waiting List with the STL List Section 25.4 Storing Grades in a STL Map Section 25.5 Putting It All Together Section 25.6 Practical Considerations When Using the STL Section 25.7 Getting More Information Section 25.8 Exercises Chapter 26 Program Design Section 26.1 Design Goals Section 26.2 Design Factors Section 26.3 Design Principles Section 26.4 Coding Section 26.5 Objects Section 26.6 Real-World Design Techniques Section 26.7 Conclusion Chapter 27 Putting It All Together Section 27.1 Requirements Section 27.2 Code Design Section 27.3 Coding Section 27.4 Functional Description Section 27.5 Testing Section 27.6 Revisions Section 27.7 A Final Warning Section 27.8 Program Files Section 27.9 Programming Exercises Chapter 28 From C to C++ Section 28.1 K&R-Style Functions Section 28.2 struct Section 28.3 malloc and free Section 28.4 Turning Structures into Classes Section 28.5 setjmp and longjmp Section 28.6 Mixing C and C++ Code Section 28.7 Summary Section 28.8 Programming Exercise Chapter 29 C++'s Dustier Corners Section 29.1 do/while Section 29.2 goto Section 29.3 The ?: Construct Section 29.4 The Comma Operator Section 29.5 Overloading the ( ) Operator Section 29.6 Pointers to Members Section 29.7 The asm Statement Section 29.8 The mutable Qualifier Section 29.9 Run Time Type Identification Section 29.10 Trigraphs Section 29.11 Answers to Chapter Questions This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Chapter 30 Programming Adages Section 30.1 General Section 30.2 Design Section 30.3 Declarations Section 30.4 switch Statement Section 30.5 Preprocessor Section 30.6 Style Section 30.7 Compiling Section 30.8 The Ten Commandments for C++ Programmers Section 30.9 Final Note Section 30.10 Answers to Chapter Questions Part VI: Appendixes Appendix A ASCII Table Appendix B Ranges Appendix C Operator Precedence Rules Section C.1 Standard Rules Section C.2 Practical Subset of the Operator Precedence Rules Appendix D Computing Sine Using a Power Series Appendix E Resources Section E.1 Compilers Section E.2 Standard Template Library Section E.3 Standards Section E.4 Programming Tools Colophon Index I l@ve RuBoard This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com I l@ve RuBoard Copyright Copyright © 2003, 1995 O'Reilly & Associates, Inc Printed in the United States of America Published by O'Reilly & Associates, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472 O'Reilly & Associates books may be purchased for educational, business, or sales promotional use Online editions are also available for most titles (http://safari.oreilly.com) For more information, contact our corporate/institutional sales department: (800) 998-9938 or corporate@oreilly.com Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly & Associates, Inc Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks Where those designations appear in this book, and O'Reilly & Associates, Inc was aware of a trademark claim, the designations have been printed in caps or initial caps The association between the image of an Eastern chipmunk and the topic of C++ programming is a trademark of O'Reilly & Associates, Inc While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein I l@ve RuBoard This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com OR (||) operator, logical 2nd OR into (|=) operator order of operations ordered linked lists ordering loops ostream class parameter ::read ::write Oualline's law of documentation output (

Ngày đăng: 26/03/2019, 11:23

Tài liệu cùng người dùng

Tài liệu liên quan