What's New in Visual Studio 11 Beta for C++ Developers

What's New in Visual Studio 11 Beta for C++ Developers

Rate This
  • Comments 44

 

XAML <TextBox x:Name="textbox"/>
C++
textbox->Text =
"Hello World!";
Output A Metro style HelloWorld.cpp

Snippets of the Metro style version for the most popular 101 application.

 

 

 

Download this Beta today:

 

 

 

As Jason Zander –CVP of Visual Studio- just confirmed, a Visual Studio 11 Beta was released earlier today.

What can C++ developers expect from this new version compared to Visual Studio 2010? Here's a summary:

  • Windows 8:
    • Support for Metro style apps using native C++ code.
    • C++ Metro style applications can create new UI using DirectX and/or the completely-new all-native XAML UI framework for Windows 8.
    • C++ developers can also create components that extend Windows 8 apps written in HTML5/JavaScript.
  • C++11:
    • New core language features: range-based for-loop, override/final, and strongly-typed/forward-declared enums.
    • More core language features to follow shortly after Visual Studio 11.
    • New Standard Library headers: <atomic>, <chrono>, <condition_variable>, <future>, <mutex>, <ratio>, <scoped_allocator>, and <thread>.  Also <filesystem>.
    • Emplacement methods have been implemented in all containers for "arbitrary" numbers of arguments.
    • Simulated variadic templates now accept a maximum of 5 arguments by default, down from 10.  To increase this limit, at the cost of compiler speed, define _VARIADIC_MAX project-wide between 5 and 10 inclusive.
    • Per-container and per-element memory consumption has been optimized.
  • Code Performance and Parallelism:
  • IDE Enhancements:
    • Code understanding enhancements like semantic colorization and reference highlighting.
    • Editing enhancements like proactive IntelliSense, member list filtering and code snippets.
  • Application Lifecycle Management (ALM):
    • Comprehensive tools like dependency diagrams and the Architecture Explorer.
    • Testing tools like a new Unit Testing Framework and Code Coverage.
    • Static Analysis for a better diagnosis of coding errors even if the compilation is okay.

 

For further information, these MSDN Library article dives deeper in these new features for Visual C++ developers.

 

 

Links of interest:

  • I already knew this was coming, but just to voice it:  Too bad VS11 doesn't support XP.

    (I like VS11 changes, but cannot drop XP support from my products, so I won’t use VS11).

  • Performance is astonishing. Just benchmarked and build time is 3 times faster than VC10. Also generated code is about 2 times faster.

    But the lack of support for XP (and Windows 2003) is, simply put, stupid. Which universe do you live? No serious ISV will adopt VS11.

  • The ability to create apps that can be used on Windows XP SP3 is a feature that is still required.

    I will be stuck using the VS2010 tool chain for the next 2 years at least unless this is addressed.

  • We can choose to use VC10 or VC11 toolset in C++ project options. I understand that. But we can also choose  a strange Win71SDK value. I'm wondering if this later value allows targetting XP while using C++11 compiler...

  • What happen to the Variadic-Template? why it's still missing in the BETA version? Can anyone here tell me please??

  • guys, just go to new project/other project types/Setup and deployment. Compare this icon with metro style icons. Which one do you prefer? Which one looks more eastethic? I do believe that metro will be one big disappointment (on desktops anyway). The icons are blurred (just compare Office icons i.e.), dull, with bad contrast. It can be done (mono themes), and Adobe proved that with its latest products but am affraid that the VS11 version is just half baked.

    I think that they went with "make things as simple as possible" but forgot about "but not simpler".

  • I really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really  really ... n-really  wanna full unicode chars and full unicode string support.

  • What editions of VS will these features be in?  The dependency diagrams and static analysis sound great, but if they require buying Ultimate edition, not many developers will get them.

  • Looks great so far in terms of C++ language features in the compiler. This is what VS2010 should have been. Unfortunately, like many other people here have mentioned our organization will be stuck with VS2010 for the next 3+ years as we can't alienate our customers with Windows XP. Very unfortunate.

  • @Ross W.: you can target VC++10 compiler to support WinXP...

  • @Alessio T: Have you not understood what people want here? They're mainly interested in the new C++11 features - they want to target XP with the new compiler.

  • I really hope XP support will be added. However I've already created an experimental executable that runs on Windows XP. The key is to find out the unavailable WinAPI functions that the executable imports. After that it's necessary to locate and redefine CRT functions that use those unavailable WinAPI functions. Finally the subsystem version in the executable needs to be patched to a lower version.

    Would be nice if someone from Microsoft commented on this XP issue. I've looked at the CRT code and the only reason behind the modifications seems to be the need to kill XP. Not justified.

  • Just curious, is implementing variadic templates much harder than implementing all that preprocessor machinery to simulate them?

  • <functional> is broken:

    struct T { void M() {} };

    std::function<void (T *)> f = &T::M;

    a reference still works:

    std::function<void (T &)> f = &T::M;

  • Jesse: For library developers, one is possible. The other is not.

    a: That's a known bug, which we're investigating. However, I can't promise that it'll be fixed in VC11.

Page 2 of 3 (44 items) 123