• There are no items in your cart
We noticed you’re not on the correct regional site. Switch to our AMERICAS site for the best experience.
Dismiss alert

ECMA 372 : 1ED 2005

Current

Current

The latest, up-to-date edition.

C++/CLI LANGUAGE SPECIFICATION

Published date

12-01-2013

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

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

DocumentType
Standard
PublisherName
European Computer Manufacturers Association
Status
Current

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

View more information
Sorry this product is not available in your region.

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, flexible and cost effective.