• ECMA 372 : 1ED 2005

    Current The latest, up-to-date edition.

    C++/CLI LANGUAGE SPECIFICATION

    Available format(s): 

    Language(s): 

    Published date:  12-01-2013

    Publisher:  European Computer Manufacturers Association

    Sorry this product is not available in your region.

    Add To Cart

    Table of Contents - (Show below) - (Hide below)

    Introduction
    1 Scope
    2 Conformance
    3 Normative references
    4 Definitions
    5 Notational conventions
    6 Acronyms and abbreviations
    7 General description
    8 Language overview
       8.1 Getting started
       8.2 Types
       8.3 Parameters
       8.4 Automatic memory management
       8.5 Expressions
       8.6 Statements
       8.7 Delegates
       8.8 Native and ref classes
       8.9 Value classes
       8.10 Interfaces
       8.11 Enums
       8.12 Namespaces and assemblies
       8.13 Versioning
       8.14 Attributes
       8.15 Generics
    9 Lexical structure
       9.1 Tokens
    10 Basic concepts
       10.1 Assemblies
       10.2 Application entry point
       10.3 Importing types from assemblies
       10.4 Reserved names
       10.5 Members
       10.6 Member access
       10.7 Name lookup
    11 Preprocessor
       11.1 Conditional inclusion
       11.2 Predefined macro names
    12 Types
       12.1 Value types
       12.2 Class types
       12.3 Declarator types
       12.4 Top-level type visibility
    13 Variables
       13.1 gc-lvalues
       13.2 File-scope and namespace-scope
             variables
       13.3 Direct initialization
    14 Conversions
       14.1 Conversion sequences
       14.2 Standard conversions
       14.3 Implicit conversions
       14.4 Explicit conversions
       14.5 User-defined conversions
       14.6 Parameter array conversions
       14.7 Naming conventions
    15 Expressions
       15.1 Function members
       15.2 Primary expressions
       15.3 Postfix expressions
       15.4 Unary expressions
       15.5 Explicit type conversion (cast notation)
       15.6 Additive operators
       15.7 Shift operators
       15.8 Relational operators
       15.9 Logical AND operator
       15.10 Logical OR operator
       15.11 Conditional operator
       15.12 Assignment operators
       15.13 Constant expressions
       15.14 Property and event rewrite rules
    16 Statements
       16.1 Selection statements
       16.2 Iteration statements
       16.3 Jump statements
       16.4 The try block
    17 Namespaces
       17.1 Reserved namespaces
    18 Functions
       18.1 -style variable-argument lists
       18.2 Name lookup
       18.3 Overload resolution
       18.4 Parameter arrays
       18.5 Importing native functions
       18.6 Non-member functions
       18.7 Attributes
    19 Classes and members
       19.1 Class definitions
       19.2 Reserved member names
       19.3 Data members
       19.4 Functions
       19.5 Properties
       19.6 Events
       19.7 Static operators
       19.8 Non-static operators
       19.9 Instance constructors
       19.10 Static constructors
       19.11 Literal fields
       19.12 Initonly fields
       19.13 Destructors and finalizers
    20 Native classes
       20.1 Functions
       20.2 Properties
       20.3 Static operators
       20.4 Delegates
       20.5 Friends
       20.6 Events
       20.7 Finalizer
       20.8 Initonly and literal fields
       20.9 Static constructors
    21 Ref classes
       21.1 Ref class definitions
       21.2 Ref class members
       21.3 Functions
       21.4 Properties
       21.5 Events
       21.6 Static operators
       21.7 Non-static operators
       21.8 Instance constructors
       21.9 Static constructor
       21.10 Literal fields
       21.11 Initonly fields
       21.12 Destructors and finalizers
       21.13 Delegates
    22 Value classes
       22.1 Value class definitions
       22.2 Value class members
       22.3 Ref class and value class differences
       22.4 Simple value classes
       22.5 Constructors
       22.6 Operators
    23 Mixed types
    24 CLI arrays
       24.1 CLI array types
       24.2 CLI array creation
       24.3 CLI array element access
       24.4 CLI array members
       24.5 CLI array covariance
       24.6 CLI array initializers
    25 Interfaces
       25.1 Interface definitions
       25.2 Interface members
       25.3 Interface implementations
    26 Enums
       26.1 Enum definitions
       26.2 The System::Flags attribute
    27 Delegates
       27.1 Delegate definitions
       27.2 Delegate instantiation
       27.3 Delegate invocation
    28 Exceptions and exception handling
       28.1 Common exception classes
       28.2 Exception specifications
    29 Attributes
       29.1 Attribute classes
       29.2 Attribute specification
       29.3 Attribute instances
       29.4 Reserved attributes
       29.5 Attributes for interoperation
    30 Templates
       30.1 Template declarations
       30.2 Template specialization
       30.3 Attributes
       30.4 Type deduction
    31 Generics
       31.1 Generic declarations
       31.2 Constructed types
       31.3 Generic function
       31.4 Constraints
    32 Standard C and C++ libraries
    33 CLI libraries
       33.1 Custom modifiers
       33.2 Standard attributes
    34 Metadata
       34.1 Basic concepts
       34.2 Types
       34.3 Variables
       34.4 Conversions
       34.5 Expressions
       34.6 Functions
       34.7 Classes and members
       34.8 Native classes
       34.9 Ref classes
       34.10 Value classes
       34.11 CLI arrays
       34.12 Interfaces
       34.13 Enums
       34.14 Delegates
       34.15 Exceptions
       34.16 Attributes
       34.17 Templates
       34.18 Generics
    Annex A Grammar
       A.1 Keywords
       A.2 Lexical conventions
       A.3 Basic concepts
       A.4 Expressions
       A.5 Statements
       A.6 Declarations
       A.7 Declarators
       A.8 Classes
       A.9 Properties and events
       A.10 Derived classes
       A.11 Special member functions
       A.12 Overloading
       A.13 Delegates
       A.14 Templates
       A.15 Generics
       A.16 Exception handling
       A.17 Attributes
       A.18 Preprocessing directives
    Annex B Verifiable code
    Annex C (informative) Documentation comments
       C.1 Introduction
       C.2 Recommended tags
       C.3 Processing the documentation file
       C.4 An example
    Annex D Non-normative references
    Annex E (informative) CLI naming guidelines
    Annex F (informative) Future directions
       F.1 Expressions
       F.2 Statements
       F.3 Classes
       F.4 Generic types
       F.5 Custom modifiers
       F.6 Attributes
    Annex G (informative) Portability issues
       G.1 Undefined behavior
       G.2 Implementation-defined behavior
       G.3 Unspecified behavior
    Annex H (informative) Index

    Abstract - (Show below) - (Hide below)

    Defines requirements for implementations of the C++/CLI binding.

    General Product Information - (Show below) - (Hide below)

    Document Type Standard
    Publisher European Computer Manufacturers Association
    Status Current

    Standards Referencing This Book - (Show below) - (Hide below)

    ISO/IEC 2382-1:1993 Information technology Vocabulary Part 1: Fundamental terms
    IEC 60559:1989 Binary floating-point arithmetic for microprocessor systems
    ECMA 335 : 6ED 2012 COMMON LANGUAGE INFRASTRUCTURE (CLI) - PARTITIONS 1 TO 6
    IEEE 754-2008 REDLINE IEEE Standard for Floating-Point Arithmetic
    • Access your standards online with a subscription

      Features

      • Simple online access to standards, technical information and regulations
      • Critical updates of standards and customisable alerts and notifications
      • Multi - user online standards collection: secure, flexibile and cost effective