DEC C++
Using DEC C++ for DIGITAL UNIX Systems


Begin Index

Contents (summary)
Chapter 1 Building and Running DEC C++ Programs
Chapter 2 DEC C++ Implementation
Chapter 3 DEC C++ Language Environment
Chapter 4 Porting to DEC C++
Chapter 5 Using Templates
Chapter 6 The C++ Standard Library
Chapter 7 Handling Exceptions
Chapter 8 Using the Ladebug Debugger
  Index
  Figures
  Examples
  Tables


Contents


Chapter 1
1 Building and Running DEC C++ Programs
     1.1     Compiling a DEC C++ Program
     1.2     Linking a DEC C++ Program
     1.3     Name Demangling
     1.4     DEC C++ Class Library
     1.5     Debugging
Chapter 2
2 DEC C++ Implementation
     2.1     Compatibility with Other C++ Compilers
         2.1.1         Incomplete friend Declaration (cfront and ms)
         2.1.2         Enumerators in an Enumeration Declaration (cfront and ms)
         2.1.3         Incomplete Declarations (cfront and ms)
         2.1.4         Overloading Resolution and Enumeration Value of Zero (cfront)
         2.1.5         Prefix and Postfix Increment and Decrement Operators (cfront)
         2.1.6         Explicit Cast to Reference and Conversions (cfront and ms)
         2.1.7         Access Rights to Enclosing Class (cfront)
         2.1.8         Static Incomplete Array Data Members (ms)
         2.1.9         Address of Member Functions without Ampersand (&) Address-of Operator (ms)
         2.1.10         Ignored Visual C++ Keywords (ms)
         2.1.11         Duplication of Type Qualifiers (ms)
     2.2     Implementation-Specific Attributes
         2.2.1         #pragma Preprocessor Directive
             2.2.1.1             #pragma define_template Directive
             2.2.1.2             #pragma environment Directive
             2.2.1.3             #pragma [no]member_alignment Directive
             2.2.1.4             #pragma message Directive
             2.2.1.5             #pragma pack Directive
             2.2.1.6             #pragma pointer_size Directive
             2.2.1.7             #pragma required_pointer_size Directive
             2.2.1.8             #pragma required_vptr_size Directive
         2.2.2         Predefined Names (§r.16.10)
         2.2.3         Translation Limits
         2.2.4         Numerical Limits
         2.2.5         Argument-Passing and Return Mechanisms
     2.3     Implementation Extensions and Features
         2.3.1         Identifiers (§r.2.3)
             2.3.1.1             External Name Encoding
             2.3.1.2             Character Limit for Long Names
         2.3.2         Order of Static Object Initialization (§r.3.4)
         2.3.3         Integral Conversions (§r.4.2)
         2.3.4         Floating-Point Conversions (§r.4.3 and §r.4.4)
         2.3.5         Explicit Type Conversion (§r.5.2.3)
         2.3.6         The sizeof Operator (§r.5.3.2)
         2.3.7         Explicit Type Conversion (§r.5.4)
         2.3.8         Multiplicative Operators (§r.5.6)
         2.3.9         Additive Operators (§r.5.7)
         2.3.10         Shift Operators (§r.5.8)
         2.3.11         Equality Operators (§r.5.10)
         2.3.12         Type Specifiers (§r.7.1.6)
         2.3.13         asm Declarations (§r.7.3)
         2.3.14         Linkage Specifications (§r.7.4)
         2.3.15         Class Layout (§r.9.2)
             2.3.15.1             Structure Alignment
             2.3.15.2             Bit-Fields
             2.3.15.3             Access Specifiers
             2.3.15.4             Class Subobject Offsets
         2.3.16         Multiple Base Classes (§r.10.1)
         2.3.17         Temporary Objects (§r.12.2)
             2.3.17.1             Lifetime of Temporary Objects
             2.3.17.2             Nonconstant Reference Initialization with a Temporary Object
             2.3.17.3             Static Member Functions Selected by Expressions Creating Temporary Objects
         2.3.18         Exception Handling (§r.15)
         2.3.19         File Inclusion (§r.16.4)
Chapter 3
3 DEC C++ Language Environment
     3.1     Using Existing C Header Files
         3.1.1         Providing C and C++ Linkage
         3.1.2         Resolving C++ Keyword Conflicts
         3.1.3         Handling Scoping Issues
         3.1.4         Support for <stdarg.h> and <varargs.h> Header Files
     3.2     Using DEC C++ with Other Languages
     3.3     Linkage to Non-C++ Code and Data
     3.4     How to Organize Your C++ Code
         3.4.1         Code That Does Not Use Templates
         3.4.2         Code That Uses Templates
         3.4.3         Summary of Guidelines for Placing Definitions and Declarations
         3.4.4         Creating Libraries
     3.5     Using 32-bit Pointers (xtaso)
         3.5.1         Protecting Header Files When Using -xtaso_short
     3.6     Hints for Designing Upwardly Compatible C++ Classes
         3.6.1         Source Compatibility
         3.6.2         Link Compatibility
         3.6.3         Run Compatibility
         3.6.4         Additional Reading


Previous Next Contents Index