Essential C++(注释版)

Essential C++(注释版)
作 者: 斯坦利 徐旭铭 金萍华
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  斯坦利(Stanley B.Lippman),是梦工厂动画公司核心技术小组的成员。在加入梦工厂之前,Starfley是迪斯尼动画公司的首席软件工程师。他在贝尔实验室期间领导过cfront 3.0版和2.1版编译器开发团队。他曾经是Bjarne Stroustrup领导下的贝尔实验室基金会项目的一员。Starfley著有广受欢迎的《C++Primer》和《Inside the C++Objecl Model》。他曾编辑由剑桥大学出版社出版的《C++ Gems》。他还是多部动画长片的制作成员,其中包括《巴黎圣母院》和《幻想曲2000》。

内容简介

本书为那些没有太多时间学习的程序员提供了一条在工作中学习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

注释