《Essential C++(英文版)》是众多C++初学者的入门经典。《Essential C++(英文版)》从4个方面来表现C++的本质:procedural(过程化的)、generic(泛型的)、object-based(基于对象的)、object-oriented(面向对象的)。《Essential C++(英文版)》的组织围绕着一系列由浅入深的程序问题,以及用以解决这些问题的语言特性。按照这种方式,读者不但会学到C++的函数和结构,还会学习到它们的设计目的和基本原理。
《Essential C++(英文版)》涉猎范围很广,内容涉及C++语言发展的主要几个方面,适合有一定基础的C++初学者。
Essential 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.3: Defining an Abstract Base Class
5.4: Defining a Derived Class
5.5: Using an Inheritance Hierarchy
5.6: How Abstract Should a Base Class Be?
5.7: Initialization, Destruction, and Copy
5.8: Defining a Derived Class Virtual Function
5.9: 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
1