JavaScript EditorDhtml editor     Free javascript download 

Main Page

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

C++/CLI represents a dynamic component programming paradigm extension to the ISO-C++ standard language. There are a number of significant weaknesses in Managed Extensions, which we feel are corrected in the new language design. This document provides an enumerated listing of the Managed Extensions for C++ language features and their mapping to Visual C++ 2005 where such a mapping exists, and points out those constructs for which no mapping exists.

In This Section

Outline of Changes

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

Language Keywords

Discusses the broad issue of language keywords, in particular 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.

Motivating the New Language Design

For the interested reader; an Appendix that provides an extended rationale for the new language design.

Please note that this guide, despite our best efforts, is likely incomplete in every detail. Should you find any additional issues not covered, please contact us.

See Also


Mixed (Native and Managed) Assemblies
New C++ Language Features

JavaScript EditorDhtml editor     Free javascript download