本书为那些没有太多时间学习的程序员提供了一条在工作中学习C++的捷径。它把重点放在那些C++编程中重要的要素上,并覆盖能够帮助解决实际编程问题的特性和技术。本书将C++的基本内容按照过程风格、泛型风格、基于对象风格,以及面向对象风格进行组织。本书采用复杂度渐进的风格展开,并在讨论解决方案的过程中引入语言特性,便于学习C++的功能和结构,同时理解其目的和基本理念。书中完整深入探讨了以下主要内容:泛型编程和标准模板库(STL)基于对象的编程和类的设计面向对象的编程和类层次体系的设计函数和类模板的设计和使用异常处理和运行时类型信息(RTTI)此外,附录A里还为每一章最后的习题给出了完整的答案和详细解释。附录B则是一本泛型算法的快速参考手册,解释了每个算法的使用方法并给出了示例。这本精炼的教程提供了C++实战所必需的知识点,为你进一步的学习打下坚实的基础。
目录
- 序言
- 前言
- Chapter 1: Basic C++ Programming
- 1.1:How to Write a C++ Program
- 1.2:Defining and Initializing a Data Object
- 1.3:Writing Expressions
- 1.4:Writing Conditional and Loop Statements
- 1.5:How to Use Arrays and Vectors
- 1.6:Pointers Allow for Flexibility
- 1.7:Writing and Reading Files
- Chapter 2: Procedural Programming
- 2.1:How to Write a Function
- 2.2:Invoking a Function
- 2.3:Providing Default Parameter Values
- 2.4:Using Local Static Objects
- 2.5:Declaring a Function Inline
- 2.6:Providing Overloaded Functions
- 2.7:Defining and Using Template Functions
- 2.8:Pointers to Functions Add Flexiblity
- 2.9:Setting Up a Header File
- Chapter 3: Generic Programming
- 3.1:The Arithmetic of Pointers
- 3.2:Making Sense of Iterators
- 3.3:Operations Common to All Containers
- 3.4:Using the Sequential Containers
- 3.5:Using the Generic Algorithms
- 3.6:How to Design a Generic Algorithm
- 3.7:Using a Map
- 3.8:Using a Set
- 3.9:How to Use Iterator Inserters
- 3.10:Using the iostream Iterators
- Chapter 4: Object-Based Programming
- 4.1:How to Implement a Class
- 4.2:What Are Class Constructors and the Class Destructor
- 4.3:What Are mutable and const
- 4.4:What Is the this Pointer
- 4.5:Static Class Members
- 4.6:Building an Iterator Class
- 4.7:Collaboration Sometimes Requires Friendship
- 4.8:Implementing a Copy Assignment Operator
- 4.9:Implementing a Function Object
- 4.10:Providing Class Instances of the iostream Operators
- 4.11:Pointers to Class Member Functions
- Chapter 5: Object-Oriented Programming
- 5.1:Object-Oriented Programming Concepts
- 5.2:A Tour of Object-Oriented Programming
- 5.3:Polymorphism without Inheritance
- 5.4:Defining an Abstract Base Class
- 5.5:Defining a Derived Class
- 5.6:Using an Inheritance Hierarchy
- 5.7:How Abstract Should a Base Class Be
- 5.8:Initialization, Destruction, and Copy
- 5.9:Defining a Derived Class Virtual Function
- 5.10:Run-Time Type Identification
- Chapter 6: Programming with Templates
- 6.1:Parameterized Types
- 6.2:The Template Class Definition
- 6.3:Handling Template Type Parameters
- 6.4:Implementing the Template Class
- 6.5:A Function Template Output operator
- 6.6:Constant Expressions and Default Parameters
- 6.7:Template Parameters as Strategy
- 6.8:Member Template Functions
- Chapter 7: Exception Handling
- 7.1:Throwing an Exception
- 7.2:Catching an Exception
- 7.3:Trying for an Exception
- 7.4:Local Resource Management
- 7.5:The Standard Exceptions
- Appendix A: Exercise Solutions
- Appendix B: Generic Algorithms Handbook
- Index
- 注释