C++语言的设计和演化:英文版

C++语言的设计和演化:英文版
作 者: Bjarne Stroustrup
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  BjarneStroustrupBjarneStroustrup现任AT&T实验室的大型程序设计研究部的主管。1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的GraceMurrayHopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。>>更多作品

内容简介

本书深入浅出地讲解了C++ 语言的设计和演化。

图书目录

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