斯坦利(Stanley B.Lippman),是夢工廠動畫公司核心技術(shù)小組的成員。在加入夢工廠之前,Starfley是迪斯尼動畫公司的首席軟件工程師。他在貝爾實(shí)驗(yàn)室期間領(lǐng)導(dǎo)過cfront 3.0版和2.1版編譯器開發(fā)團(tuán)隊(duì)。他曾經(jīng)是Bjarne Stroustrup領(lǐng)導(dǎo)下的貝爾實(shí)驗(yàn)室基金會項(xiàng)目的一員。Starfley著有廣受歡迎的《C++Primer》和《Inside the C++Objecl Model》。他曾編輯由劍橋大學(xué)出版社出版的《C++ Gems》。他還是多部動畫長片的制作成員,其中包括《巴黎圣母院》和《幻想曲2000》。
圖書目錄
序言 前言 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 注釋