The Annotated C++ Reference Manual
Margaret A. Ellis, Bjarne Stroustrup
Résumé
This book provides a complete reference for the C++ programming language. It consists of the C++ reference manual, approved as the base document for ANSI standardization of the language, plus annotations and commentary.
The annotations and commentary discuss what is not included in the language, why certain features are defined as they are, and how one might implement particular features. The commentaries also help the reader to understand the relationships between parts of the language. Comparisons with C and examples explain the more subtle points of the language.
Sixteen chapters cover the latest version of C++ including multiple inheritance, abstract classes, templates, exception handling, and more. A final chapter describes resolutions by the ANSI/ISO committee including new features such as run-time type information and namespaces. Appendices summarize the grammar and evolution of the language, and explain in detail the differences between C and C++.
The Annotated C++ Reference Manual will appeal to language implementors and expert C++ programmers.
Table of contents
- Preface
Contents
Chapter 1 Introduction - 1.1 Overview
- 1.2 Syntax Notation
- 1.1c Evolution of C++
- 1.2c Acknowledgements
- Chapter 2 Lexical Conventions
- 2.1 Tokens
- 2.2 Comments
- 2.3 Identifiers
- 2.4 Keywords
- 2.5 Literals
- 2.1c Implementation Dependencies
- Chapter 3 Basic Concepts
- 3.1 Declarations and Definitions
- 3.2 Scopes
- 3.3 Program and Linkage
- 3.4 Start and Termination
- 3.5 Storage Classes
- 3.6 Types
- 3.7 Lvalues
- 3.1c Name Spaces
- 3.2c Numerical Limits
- Chapter 4 Standard Conversions
- 4.1 Integral Promotions
- 4.2 Integral Conversions
- 4.3 Float and Double
- 4.4 Floating and Integral
- 4.5 Arithmetic Conversions
- 4.6 Pointer Conversions
- 4.7 Reference Conversions
- 4.8 Pointers to Members
- 4.1c Arithmetic Conversions
- Chapter 5 Expressions
- 5.1 Primary Expressions
- 5.2 Postfix Expressions
- 5.3 Unary Operators
- 5.4 Explicit Type Conversion
- 5.5 Pointer-to-Member Operators
- 5.6 Multiplicative Operators
- 5.7 Additive Operators
- 5.8 Shift Operators
- 5.9 Relational Operators
- 5.10 Equality Operators
- 5.11 Bitwise AND Operator
- 5.12 Bitwise Exclusive OR Operator
- 5.13 Bitwise Inclusive OR Operator
- 5.14 Logical AND Operator
- 5.15 Logical OR Operator
- 5.16 Conditional Operator
- 5.17 Assignment Operators
- 5.18 Comma Operator
- 5.19 Constant Expressions
- Chapter 6 Statements
- 6.1 Labeled Statement
- 6.2 Expression Statement
- 6.3 Compound Statement, or Block
- 6.4 Selection Statements
- 6.5 Iteration Statements
- 6.6 Jump Statements
- 6.7 Declaration Statement
- 6.8 Ambiguity Resolution
- Chapter 7 Declarations
- 7.1 Specifiers
- 7.2 Enumeration Declarations
- 7.3 Asm Declarations
- 7.4 Linkage Specifications
- 7.1c Linkage Specifications
- 7.2c Type-safe Linkage
- 7.3c Limitations
- Chapter 8 Declarators
- 8.1 Type Names
- 8.2 Meaning of Declarators
- 8.3 Function Definitions
- 8.4 Initializers
- 8.1c Pointers to Members
- Chapter 9 Classes
- 9.1 Class Names
- 9.2 Class Members
- 9.3 Member Functions
- 9.4 Static Members
- 9.5 Unions
- 9.6 Bit-Fields
- 9.7 Nested Class Declarations
- 9.8 Local Class Declarations
- 9.9 Local Type Names
- 9.1c Interfaces
- Chapter 10 Derived Classes
- 10.1 Multiple Base Classes
- 10.2 Virtual Functions
- 10.3 Abstract Classes
- 10.4 Summary of Scope Rules
- 10.1c Single Inheritance
- 10.2c Multiple Inheritance
- 10.3c Multiple Inheritance and Casting
- 10.4c Multiple Inheritance and Implicit Conversion
- 10.5c Virtual Base Classes
- 10.6c Virtual Base Classes and Casting
- 10.7c Single Inheritance and Virtual Functions
- 10.8c Multiple Inheritance and Virtual Functions
- 10.9c Instantiation of Virtual Functions
- 10.10c Virtual Base Classes with Virtual Functions
- 10.11c Renaming
- Chapter 11 Member Access Control
- 11.1 Access Specifiers
- 11.2 Access Specifiers for Base Classes
- 11.3 Access Declarations
- 11.4 Friends
- 11.5 Protected Member Access
- 11.6 Access to Virtual Functions
- 11.7 Multiple Access
- 11.1c General Ideas
- 11.2c Per Class Protection
- 11.3c Access Control
- Chapter 12 Special Member Functions
- 12.1 Constructors
- 12.2 Temporary Objects
- 12.3 Conversions
- 12.4 Destructors
- 12.5 Free Store
- 12.6 Initialization
- 12.7 Constructors and Destructors
- 12.8 Copying Class Objects
- 12.1c Temporary Elimination
- 12.2c Access Control and Special Functions
- 12.3c Summary of Member, Friend, and Special Functions
- Chapter 13 Overloading
- 13.1 Declaration Matching
- 13.2 Argument Matching
- 13.3 Address of Overload Function
- 13.4 Overloaded Operators
- Chapter 14 Templates
- 14.1 Templates
- 14.2 Class Templates
- 14.3 Type Equivalence
- 14.4 Function Templates
- 14.5 Declarations and Definitions
- 14.6 Member Function Templates
- 14.7 Friends
- 14.8 Static Members and Variables
- Chapter 15 Exception Handling
- 15.1 Exception Handling
- 15.2 Throwing an Exception
- 15.3 Constructors and Destructors
- 15.4 Handling and Exception
- 15.5 Exception Specifications
- 15.6 Special Functions
- 15.7 Exceptions and Access
- Chapter 16 Preprocessing
- 16.1 Phases of Preprocessing
- 16.2 Trigraph Sequences
- 16.3 Macro Definition and Expansion
- 16.4 File Inclusion
- 16.5 Conditional Compilation
- 16.6 Line Control
- 16.7 Error Directive
- 16.8 Pragmas
- 16.9 Null Directive
- 16.10 Predefined Names
- 16.1c C++ Constructs versus #define
- 16.2c Compatibility
- 16.3c Classic C Preprocessing
- Chapter 17 Grammar Summary
- 17.1 Keywords
- 17.2 Expressions
- 17.3 Declarations
- 17.4 Declarators
- 17.5 Class
- 17.6 Statements
- 17.7 Preprocessor
- 17.8 Templates
- 17.9 Exception
- Chapter 18 Compatibility
- 18.1 Extensions
- 18.2 C++ and ANSI C
- 18.3 Anachronisms
- ANSI/ISO Resolutions
- Index
L'auteur - Bjarne Stroustrup
Bjarne Stroustrup est le concepteur du langage C++ et l'auteur des ouvrages C++ Programming Langage (1™ édition 1985, 2e édition 1991, 3e édition 1997), The Annotated C++ Référence Manual et The Design and Evolution of C++. Diplômé de l'université d'Aarhus, Danemark, et de l'université de Cambridge, Angleterre, Bjarne Stroustrup est aujourd'hui professeur à la Texas A&M University et membre du département de recherche pour la programmation à grande échelle de AT&T Labs. Ses recherches portent notamment sur les systèmes distribués, les systèmes d'exploitation, la simulation, la conception et la programmation. Il est également l'éditeur de la collection C++ In-Depth, Addison-Wesley.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Addison Wesley |
Auteur(s) | Margaret A. Ellis, Bjarne Stroustrup |
Parution | 10/12/1991 |
Nb. de pages | 470 |
EAN13 | 9780201514599 |
Avantages Eyrolles.com
Nos clients ont également acheté
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse
- Informatique Développement d'applications Technologies objet
- Informatique Développement d'applications Programmation graphique et multimédia Programmation graphique en C/C++
- Informatique Développement d'applications Langages C++
- Informatique Développement d'applications Outils de développement Borland C++ Builder
- Informatique Développement d'applications Outils de développement Visual C++
- Informatique Développement d'applications Outils de développement Visual C++ .NET