The Evolution of Visual C++ in Microsoft Visual Studio 2010


Application Security Testing: An Integral Part of DevOps

With the release of Microsoft Visual Studio 2010, several improvements have been made to make life easier for C++ developers. The three areas of focus for Visual C++ 2010 include a better programming model, overall performance and productivity, and support for Windows 7 applications with an updated MFC Library.

Microsoft Visual Studio 2010 has made great strides in performance and developer productivity. The new Windows Presentation Foundation (WPF)-based IDE is more extensible, has a new look and feel, and has been designed to improve readability. Document windows such as code editor and design view windows can now float outside the main IDE window and can be displayed on multiple monitors.

Microsoft Visual Studio 2010 gives developers powerful new core language features from the upcoming C++0x standard. The Visual C++ compiler in Microsoft Visual Studio 2010 has enabled six C++0x core language features: lambda expressions, auto keywords, rvalue references, static_assert, nullptr and decltype.

Lambdas are a core language feature that have lightweight natural syntax to define function objects where they're used, and these expressions have no performance overhead. Function objects are a very powerful way to customize the behavior of Standard Template Library (STL) algorithms and can encapsulate both code and data (unlike plain functions). In C++ development, lambda expressions implicitly define and construct unnamed function objects.

Substantial portions of the standard C++ library have been rewritten in Microsoft Visual Studio 2010 to take advantage of the new C++0x language features and increase performance. In particular, adoption of rvalue references has yielded many benefits. Types such as vector and list now have move constructors and move assignment operators of their own. For example, vector reallocations exploit move semantics by picking up move constructors

Microsoft Visual Studio 2010 introduces the Parallel Computing Platform, which helps you write high-performance parallel code quickly while avoiding subtle concurrency bugs. This lets you avoid some of the classic problems faced with concurrency. The Parallel Computing Platform has four major parts: the Concurrency Runtime (ConcRT), the Parallel Patterns Library (PPL), the Asynchronous Agents Library, and parallel debugging and profiling tools.

A brand new IntelliSense and browsing infrastructure is included in Visual Studio 2010. In addition to helping with scale and responsiveness on projects with large code bases, the infrastructure improvements have enabled building some fresh design-time productivity features.

IntelliSense features such as live error reporting and quick info tooltips are based upon a new compiler front-end. It parses the full translation unit to provide you with rich and accurate information about code semantics, even while the code files are being modified.

Visual Studio 2010 also offers substantial improvements in the build system and the project system for C++ projects.

The most important change is that MSBuild is now used to build C++ projects. MSBuild is an extensible, XML-based build orchestration engine that has been used for C# and Visual Basic projects in previous versions of Visual Studio. MSBuild is now the common Microsoft build system for all languages. It can be used both in the build lab as well as on individual developer machines.

In addition to the design-time experience improvements described so far, Visual Studio 2010 also improves the compilation speed, quality and performance for applications built with the Visual C++ compiler. The compiler back-end has added multiple code-generation enhancements to bring these improvements.

The performance of certain applications depends on the working set. The code size for the x64 architecture has been reduced in the range of 3 percent to 10 percent by making multiple optimizations in this release, which has resulted in a performance improvement for such applications.

Windows 7 has introduced a number of exciting technologies and features. You can take advantage of innovations like Direct3D 11, DirectWrite, Direct2D and Windows Web Service APIs by using the SDK headers and libraries available in Visual Studio 2010.

With the release of Microsoft Visual Studio 2010, several improvements have been made to make life easier for C++ developers.

View Article


  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • As enterprises flock to the cloud, many IT leaders struggle to design an effective migration strategy. Between a decentralized infrastructure and pressure to innovate, many enterprises are struggling with performance issues, soaring management costs, and drifting without a plan to manage their business in a cloud environment.

  • Discover the best practices from HPE’s IT Advisory Consulting Services for migrating and transforming applications in Hybrid IT by capitalizing on innovative platforms, modern application architectures, agile development tools and proven methodologies. There are a number of challenges our customers face when migrating and transforming applications for a Hybrid IT environment. This guide provide proven strategies and application approaches that can help them understand and reduce risks and complexity.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.