|
|

This is only a preview of the paper Click here to register and get the full text. Existing members click here to login
|
|
|
Managed Extensions for C++ Specification
Abstract
This document describes the Managed Extensions for C++, an extension of the C++ language. These extensions encompass a set of features that will support the common type system and the common language runtime. The Managed Extensions are compatible with the C++ ISO Standard. ...
Characteristics
• A __gc array shall be allocated using the managed operator __gc new.
• Using new to allocate a managed array defaults to __gc new. ...
• __nogc new shall not be used to allocate an array of managed type. ... The size of the array is given in the call to the managed operator __gc new. ...
Characteristics
• Any array of a managed element type is by default a __gc array. ... 5 Multidimensional Arrays
Managed Extensions supports multidimensional, zero-based arrays. ... 8 The ParamArray Attribute
Functions with a variable number of arguments can be implemented in Managed Extensions by using the ParamArray attribute. ... f("hello", "there", "world");
}
}
A call to f in Managed Extensions can only pass an initialized array. ...
• A __value class can override any method of the managed class System::ValueType (Section 5. ... For versioning to work, client code must not hard-code data about the size of a managed object. ...
Generally, the C++ types and their __value class equivalents are interchangeable in Managed Extensions. ... To allow overloading methods on long and int the Managed Extensions use the custom modifier Microsoft. ...
The Managed Extensions have no null literal, and 0 should be used instead. ...
Note Unlike Visual C#, boxing is not implicit in Managed Extensions for C++ for performance reasons. ... 1 __box Operation
The Managed Extensions expose the boxing operation via the __box() intrinsic.
Approximate Word count = 2750 Approximate Pages = 11 (250 words per page double spaced)
|
|
|
|
|
|