The syntax for the declaration of managed types and the creation and use of objects of these types has been significantly altered from Managed Extensions for C++ to Visual C++ 2005. This was done to promote their integration within the ISO-C++ type system. These changes are presented in detail in the following subsections.
In This Section
- Declaration of a Managed Class Type
-
Discusses how to declare a managed class, struct, or interface.
- Declaration of a CLR Reference Class Object
-
Discusses how to declare a reference class type object using a tracking handle.
- Declaration of a CLR Array
-
Explains how to declare and initialize an array.
- Changes in Destructor Semantics
-
Discusses non-deterministic finalization,
Finalize()
versusDispose()
, ramifications for reference objects, and use of an explicitFinalize()
.
Note: The discussion of delegates is deferred until Delegates and Events in order to present them with event members within a class, the general topic of Member Declarations within a Class or Interface. (For a more detailed discussion of the rationale behind the introduction of the tracking reference syntax and the general shift in design, see Motivating the New Language Design.)