What's the association between vc100 (default generator for Visual Studio 2010) and C++11/C++14?

I'm a new hand in C++ and I've got a question about some Visual Studio version names.

C++98, C++11 and C++14 are versions of the ISO/IEC 14882 standard for the C++ programming language; this means, for example, C++11 has some new features added or modified compared to C++98, C++14 has some new features added or modified compared to C++11, like the upgrade.

When I'm using Visual Studio as the IDE to develop programs, I also noticed another thing called "vc100" (for Visual Studio 2010), "vc140" (for Visual Studio 2019)... it's called generator. I supposed that's also called the version of compiler, like the version of GCC.

So, the confusion is, what's the association between C++11 and the generator name (like "vc100"); or, to be specific, does the year part in the generator called "Visual Studio 2010" (2010 is the year here) means it doesn't support C++11 and later, but only supports C++98?

3

1 Answer

There is no direct connection or association between the names of the various versions of the Visual C/C++ compiler and any particular C++ Standard. Nor is there actually a direct correlation between the name of the compiler (e.g. vc100) and the 'year' part of the name of the corresponding version of Visual Studio.

In the case of VS-2010, there is an incidental overlap between the year and the version number (10.0); but, as can be seen from the Visual Studio Tag Wiki, that year/version is the only one where the numbers coincide.

Note also that a compiler released in 2010 (as was vc100) is extremely unlikely to fully support the C++11 Standard (though VS and MSVC often have provisional support for the 'next' due Standard, if a working draft is available); however, later versions of MSVC generally have 'retro' support for several earlier Standards: The latest version (VS-2022) has the option of using C++14, C++17, C++20 or (experimentally) the provisional C++23 Standard. When compiling code with Visual Studio, you can select/specify which of the C++ Standards you want to follow in each project's settings.

4

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like