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


Begin Index

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


Contents


Chapter 1
1 Building and Running DIGITAL C++ Programs
     1.1     Compiling a DIGITAL C++ Program
     1.2     Linking a DIGITAL C++ Program
     1.3     Name Demangling
     1.4     C++ Standard Library
     1.5     C++ Class Library
     1.6     Debugging
Chapter 2
2 DIGITAL C++ Implementation
     2.1     Compatibility with Other C++ Compilers
     2.2     Implementation-Specific Attributes
         2.2.1         #pragma Preprocessor Directive
             2.2.1.1             #pragma define_template Directive
             2.2.1.2             #pragma instantiate Directive
             2.2.1.3             #pragma environment Directive
             2.2.1.4             #pragma [no]member_alignment 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
         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
             2.3.1.1             External Name Encoding
             2.3.1.2             Character Limit for Long Names
         2.3.2         Order of Static Object Initialization
         2.3.3         Integral Conversions
         2.3.4         Floating-Point Conversions
         2.3.5         Explicit Type Conversion
         2.3.6         The sizeof Operator
         2.3.7         Explicit Type Conversion
         2.3.8         Multiplicative Operators
         2.3.9         Additive Operators
         2.3.10         Shift Operators
         2.3.11         Equality Operators
         2.3.12         Type Specifiers
         2.3.13         Linkage Specifications
         2.3.14         Class Layout
             2.3.14.1             Structure Alignment
             2.3.14.2             Bit-Fields
             2.3.14.3             Access Specifiers
             2.3.14.4             Class Subobject Offsets
         2.3.15         Multiple Base Classes
         2.3.16         Temporary Objects
             2.3.16.1             Nonconstant Reference Initialization with a Temporary Object
         2.3.17         Exception Handling
         2.3.18         File Inclusion
         2.3.19         Nested Enums and Overloading
     2.4     Message Control Options
     2.5     Message Information Options
Chapter 3
3 DIGITAL 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         Support for <stdarg.h> and <varargs.h> Header Files
     3.2     Using DIGITAL 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         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
Chapter 4
4 Porting to DIGITAL C++
     4.1     Using Classes
         4.1.1         Friend Declarations
         4.1.2         Member Access
         4.1.3         Base Class Initializers
     4.2     Undefined Global Symbols for Static Data Members
     4.3     Functions and Function Declaration Considerations
     4.4     Using Pointers
         4.4.1         Pointer Conversions
         4.4.2         Bound Pointers
         4.4.3         Constants in Function Returns
         4.4.4         Pointers to Constants
     4.5     Using typedefs
     4.6     Initializing References
     4.7     Using the switch and goto Statements
     4.8     Using Volatile Objects
     4.9     Preprocessing
     4.10     Managing Memory
     4.11     Size-of-Array Argument to delete Operator
     4.12     Flushing the Output Buffer
     4.13     Missing Parenthesis Error Message
     4.14     Segmentation Faults
     4.15     Source File Extensions
     4.16     Incrementing Enumerations
     4.17     Variables Declared More than Once
     4.18     Guidelines for Writing Clean 64-Bit Code


Previous Next Contents Index