书籍详情
C++语言的设计和演化:英文版
作者:(美)Bjarne Stroustrup著
出版社:机械工业出版社
出版时间:2002-01-01
ISBN:9787111095927
定价:¥38.00
购买这本书可以去
内容简介
本书深入浅出地讲解了C++ 语言的设计和演化。
作者简介
BjarneStroustrupBjarneStroustrup现任AT&T实验室的大型程序设计研究部的主管。1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的GraceMurrayHopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。>>更多作品
目录
Preface
Acknowledgments
Contents
Notes to the Reader
Introduction
How to Read this Book
C++ Timeline
Focus on Use and Users
Programming Languages
References
Part I:
The Prehistory of C++
1.1 Simula and Distributed Systen1s
1.2 C and Systems Programming
1.3 General Background
C with Classes
2.1 The Birth of C with Classes
2.2 Feature overview
2.3 Classes
2.4 Run-Time Efficiency
2.5 The Linkage Model
2.6 Static Type Checking
2.7 Why C?
2.8 Syntax Problems
2.9 Derived Classes
2.10 The Protection Model
2.11 Run-Time Guarantees
2.12 Minor Features
2.13 Features Considered, but not Provided
2.14 Work Environment
The Birth of C++
3.1 From C with Classes to C++
3.2 Aims
3.3 Cfront
3.4 Language Features
3.5 Virtual Functions
3.6 Overloading
3.7 References
3.8 Constants
3.9 Memory Management
3.10 Type Checking
3.1l Minor Peatures
3.12 Relationship to Classic C
3.13 Tools for Language Design
3.14 The C++ Programming Language (lst edition)
3.15 The Whatis? Paper
C++ Language Design Rules
4.1 Rules and Principles
4.2 General Ru1es
4.3 Design Support Rules
4.4 Language-Technical Rules
4.5 Low-Level Programming Support Rules
4.6 A Final Word
Chronology 1985-1993
5.1 Introduction
5.2 Release 2.0
5.3 The Annotated Reference Manual
5.4 ANSI and ISO Standardization
Standardization
6.1 What is a Standard?
6.2 How does the Committee Operate?
6.3 Clarifications
6.4 Extensions
6.5 Examples of Proposed Extensions
Interest and Use
7.1 The Explosion in Interest and Use
7.2 Teaching and Learning C++
7.3 Users and Applications
7.4 Commercial Competition
Libraries
8.1 Introduction
8.2 C++ Library Design
8.3 Early Libraries
8.4 Other Libraries
8.5 A Standard Library
Looking Ahead
9.1 Introduction
9.2 Retrospective
9.3 Only a Bridge?
9.4 What Will Make C++ Much More Effective?
Memory Management
10.1 Introduction
10.2 Separating Allocation and Initialization
10.3 Array Allocation
10.4 Placement
10.5 Deallocation Problems
10.6 Memory Exhaustion
10.7 Automatic Garbage Col1ection
Overloading
11.1 Introduction
11.2 Overload Resolution
11.3 Type-Safe Linkage
11.4 Object Creation and Copying
11.5 Notational Convenience
11.6 Adding Operators to C++
11.7 Enumerations
Multiple Inheritance
12.1 Introduction
12.2 Ordinary Base Classes
12.3 Virtual Base Classes
12.4 The Object Layout Model
12.5 Method Combination
12.6 The Multiple Inheritance Controversy
12.7 Delegation
12.8 Renaming
12.9 Base and Member Initializers
Class Concept Rennements
13.1 Introduction
13.2 Abstract Classes
13.3 const Member Functions
I3.4 Static Member Functions
13.5 Nested Classes
13.6 Inherited::
13.7 Relaxation of Overriding Rules
13.8 Multi-methods
13.9 Protected Members
13.10 Improved Code Generation
13.1l Pointers to Members
Casting
14.1 Major Extensions
14.2 Run-Time Type Information
14.3 A New Cast Notation
Templater
15.1 Introduction
15.2 Temp1ates
15.3 Class Templates
15.4 Constraints on Template Arguments
15.5 Avoiding Code Replication
15.6 Function Templates
15.7 Syntax
15.8 Composition Techniques
15.9 Template Class Relationships
15.10 Template Instantiation
15.11 Implications of Templates
Exception Handling
16.1 Introduction
16.2 Aims and Assumptions
16.3 Syntax
16.4 Grouping
16.5 Resource Management
I6.5 Resumption vs.Termination
16.5 Asynchronous Events
16.6 Multi-level Propagation
16.7 Static Checking
16.8 Invariants
Namespaces
17.1 Introduction
17.2 The Problem
17.3 Ideals for a Solution
17.4 The Solution: Namespaces
17.5 Implications for Classes
17.6 C Compatibility
The C Preprocessor
18.1 Cpp
Index
Acknowledgments
Contents
Notes to the Reader
Introduction
How to Read this Book
C++ Timeline
Focus on Use and Users
Programming Languages
References
Part I:
The Prehistory of C++
1.1 Simula and Distributed Systen1s
1.2 C and Systems Programming
1.3 General Background
C with Classes
2.1 The Birth of C with Classes
2.2 Feature overview
2.3 Classes
2.4 Run-Time Efficiency
2.5 The Linkage Model
2.6 Static Type Checking
2.7 Why C?
2.8 Syntax Problems
2.9 Derived Classes
2.10 The Protection Model
2.11 Run-Time Guarantees
2.12 Minor Features
2.13 Features Considered, but not Provided
2.14 Work Environment
The Birth of C++
3.1 From C with Classes to C++
3.2 Aims
3.3 Cfront
3.4 Language Features
3.5 Virtual Functions
3.6 Overloading
3.7 References
3.8 Constants
3.9 Memory Management
3.10 Type Checking
3.1l Minor Peatures
3.12 Relationship to Classic C
3.13 Tools for Language Design
3.14 The C++ Programming Language (lst edition)
3.15 The Whatis? Paper
C++ Language Design Rules
4.1 Rules and Principles
4.2 General Ru1es
4.3 Design Support Rules
4.4 Language-Technical Rules
4.5 Low-Level Programming Support Rules
4.6 A Final Word
Chronology 1985-1993
5.1 Introduction
5.2 Release 2.0
5.3 The Annotated Reference Manual
5.4 ANSI and ISO Standardization
Standardization
6.1 What is a Standard?
6.2 How does the Committee Operate?
6.3 Clarifications
6.4 Extensions
6.5 Examples of Proposed Extensions
Interest and Use
7.1 The Explosion in Interest and Use
7.2 Teaching and Learning C++
7.3 Users and Applications
7.4 Commercial Competition
Libraries
8.1 Introduction
8.2 C++ Library Design
8.3 Early Libraries
8.4 Other Libraries
8.5 A Standard Library
Looking Ahead
9.1 Introduction
9.2 Retrospective
9.3 Only a Bridge?
9.4 What Will Make C++ Much More Effective?
Memory Management
10.1 Introduction
10.2 Separating Allocation and Initialization
10.3 Array Allocation
10.4 Placement
10.5 Deallocation Problems
10.6 Memory Exhaustion
10.7 Automatic Garbage Col1ection
Overloading
11.1 Introduction
11.2 Overload Resolution
11.3 Type-Safe Linkage
11.4 Object Creation and Copying
11.5 Notational Convenience
11.6 Adding Operators to C++
11.7 Enumerations
Multiple Inheritance
12.1 Introduction
12.2 Ordinary Base Classes
12.3 Virtual Base Classes
12.4 The Object Layout Model
12.5 Method Combination
12.6 The Multiple Inheritance Controversy
12.7 Delegation
12.8 Renaming
12.9 Base and Member Initializers
Class Concept Rennements
13.1 Introduction
13.2 Abstract Classes
13.3 const Member Functions
I3.4 Static Member Functions
13.5 Nested Classes
13.6 Inherited::
13.7 Relaxation of Overriding Rules
13.8 Multi-methods
13.9 Protected Members
13.10 Improved Code Generation
13.1l Pointers to Members
Casting
14.1 Major Extensions
14.2 Run-Time Type Information
14.3 A New Cast Notation
Templater
15.1 Introduction
15.2 Temp1ates
15.3 Class Templates
15.4 Constraints on Template Arguments
15.5 Avoiding Code Replication
15.6 Function Templates
15.7 Syntax
15.8 Composition Techniques
15.9 Template Class Relationships
15.10 Template Instantiation
15.11 Implications of Templates
Exception Handling
16.1 Introduction
16.2 Aims and Assumptions
16.3 Syntax
16.4 Grouping
16.5 Resource Management
I6.5 Resumption vs.Termination
16.5 Asynchronous Events
16.6 Multi-level Propagation
16.7 Static Checking
16.8 Invariants
Namespaces
17.1 Introduction
17.2 The Problem
17.3 Ideals for a Solution
17.4 The Solution: Namespaces
17.5 Implications for Classes
17.6 C Compatibility
The C Preprocessor
18.1 Cpp
Index
猜您喜欢