Stephan T. Lavavej, aka STL, has written a very detailed blog post describing new C++14 STL features, implemented fixes, and breaking changes in Visual Studio 14 CTP1. Read it here.
One notable breaking change is that containers cannot have const elements:
The Standard has always forbidden containers of const elements (e.g. vector, set). (C++98/03’s prohibition was crystal clear: elements must be Assignable, which const T isn’t. C++11/14’s prohibition is obscurely hidden, but it’s there.) Previously, VC accepted such containers due to non-Standard machinery in std::allocator. We’ve removed that machinery, so such containers now fail to compile.
Microsoft has released Visual Studio “14” CTP. You can read the announcement on Soma’s blog. Visual Studio “14” will most likely be available sometime in 2015.
Note: This is a CTP release, thus it should be installed in a test environment, such as a VM or a clean machine. Do not install on a machine with another version of Visual Studio installed.
Specifically for C++, there are quite a few improvements, such as:
- Generalized lambda capture
- User-defined literals in the language and standard library
- Completed noexcept
- Inline namespaces
- Thread-safe “magic” statics
- Unrestricted unions
- All November 2013 compiler CTP features
- Null forward iterators
- Heterogeneous associative lookup
- Dual-range equal(), is_permutation(), mismatch()
- Filesystem “V3″ Technical Specification (TS)
- Object file size reductions
- Debug checking fixes
- Create declaration or definition
- Native memory diagnostics
- Refactored C Runtime (CRT): This CTP contains the first preview of the substantially refactored CRT. msvcr140.dll no longer exists. It is replaced by a trio of DLLs: vcruntime140.dll, appcrt140.dll, and desktopcrt140.dll.
Read Eric’s blog for a bit more details on those improvements.
Download the CTP.
Microsoft has released Update 2 for Visual Studio 2012 (VS2012.2). You can get it here.
Just as with VS2012.1 (which is installed as part of VS2012.2 for those of you who don’t already have VS2012.1 installed), this release contains important fixes as well as a wealth of new functionality, addressing feedback we’ve received from the community and aligning with key software development trends in the market. The new functionality primarily spans (though is not limited to) five areas of investment: agile planning, quality enablement, Windows Store development, line-of-business development, and the general developer experience.
Check out Somasegar’s blog post for more details on this update.
Marius Bancila posted an excellent post on his blog explaining how to define x64 target for you Visual C++ Projects.
If you want to port an existing 32-bit application for the x64 platform (especially since 32-bit processors will soon be history), or if you want to target x64 for a new application, the first step in building for x64 is setting up your solution. In this post I will explain what are the steps in configuring x64 as target platform for your projects. Of course you must have the 64-bit compiler and tools installed to make this possible.
Read the full article.