Visual C++ FAQ Updated

We’ve updated the Visual C++ FAQ with a question and answer about what Visual C++ 2005 features have been implemented in the Visual Studio 2005 Beta Release and what you can look forward to in the final release.

Are there language features in Visual C++ that haven’t been implemented yet in the Beta1 release?
Yes, some language features that will be included in the final release weren’t implemented in the Beta 1 release. Here’s an approximate list of what you can expect:
Added in Beta 1
Managed class and interface definitions (e.g. ref class R { }; )
Managed handle (^) and reference (%) syntax
Named and explicit overrides
public and private on native types (e.g. public class C { }; )
initonly and literal
‘abstract’, ‘sealed’, and ‘new’ on methods
Unicode surrogate support
Implicit boxing
Managed templates (e.g. template<class T> ref class X { }; )
Verifiable and pure C++

Refer to the entire Q/A for more information about what’s planned for the release.

Comments (2)

  1. Mark says:

    I downloaded VC++ Express on the weekend and started dabbling with it. Got to say I find the new C++/CLI syntax to be elegant. I am just wondering if there is a website on MSDN that has samples using the new syntax to get started on it.

  2. I agree that the VC++2005 syntax is more usable than the VC++2003 syntax. But implicit boxing still bugs me.

    It used to be said (and might still be said, I don’t know) that pointers are one of the most troubling topics for new students. That could well be. But matters do not get simplified by hiding pointers. Students still have to learn what pointers are, and then in addition they have to learn when the language is really copying data vs. when the language is really only copying pointers (e.g. APL, Smalltalk, and how many others). In VC++2005, implicit boxing not only sometimes hides pointers, not only making users learn when pointers are sometimes getting hidden. It also sometimes creates hidden pointers when only value expressions were given to it. Boxing needs to be explicit, just like the & operator creating native pointers is explicit.