We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

General Language Changes

A number of CLR language features changed from Managed Extensions for C++ to Visual C++ 2010.

The changes described in this section are a sort of language miscellany. It includes a change in the handling of string literals, a change in the overload resolution between an ellipsis and the Param attribute, the change of typeof to typeid, a change in the calling of constructor initializer lists, and the introduction of a new cast notation, that of safe_cast.

String Literal

Discusses how the handling of string literals has changed.

Param Array and Ellipsis

Discusses how ParamArray is now given precedence over the ellipsis () for resolving function calls with varying numbers of arguments.

typeof Goes to T::typeid

Discusses how the typeof operator has been supplanted by typeid.

Initializer Lists

Discusses changes in the calling order of initializer lists.

Cast Notation and Introduction of safe_cast<>

Discusses changes to cast notation and in particular the introduction of safe_cast.