Managed Types (C++/CL)


For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

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++. This was done to promote their integration within the ISO-C++ type system. These changes are presented in detail in the following subsections.

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 Constructor Initialization Order
Discusses key changes in class constructor initialization order.

Changes in Destructor Semantics
Discusses non-deterministic finalization, Finalize versus Dispose, ramifications for reference objects, and use of an explicit Finalize.

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 (C++/CLI).

C++/CLI Migration Primer
Classes and Structs