C++/CLI Migration Primer
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

C++/CLI Migration Primer

This is a guide to moving your Visual C++ programs from Managed Extensions for C++ to Visual C++ 2008. For a checklist summary of syntactic changes, see Managed Extensions for C++ Syntax Upgrade Checklist.

C++/CLI extends a dynamic component programming paradigm to the ISO-C++ standard language. The new language offers a number of significant improvements over Managed Extensions. This section provides an enumerated listing of the Managed Extensions for C++ language features and their mapping to Visual C++ 2008 where such a mapping exists, and points out those constructs for which no mapping exists.

Outline of Changes

A high-level outline for quick reference, providing a listing of the changes under five general categories.

Language Keywords

Discusses changes in language keywords, including the removal of the double underscore and the introduction of both contextual and spaced keywords.

The Managed Types

Looks at syntactic changes in the declaration of the Common Type System (CTS) – this includes changes in the declaration of classes, arrays (including the parameter array), enums, and so on.

Member Declarations within a Class or Interface

Presents the changes involving class members such as scalar properties, index properties, operators, delegates, and events.

Value Types and Their Behaviors

Focuses on value types and the new family of interior and pinning pointers. It also discusses a number of significant semantics changes such as the introduction of implicit boxing, immutability of boxed value types, and the removal of support for default constructors within value classes.

General Language Changes

Details semantic changes such as support for cast notation, string literal behavior, and changes in the semantics between ISO-C++ and C++/CLI.

© 2016 Microsoft