I just started learning c++. I installed visual studio with “Desktop Development with C++”. CPlusPlus.com shows info for different c++ versions. How can I check which one I am using?
For what can be supported, see https://en.cppreference.com/w/cpp/compiler_support
Compilers generally have flags to select a version to conform to, and possibly for specific features. There are also several macros you can check. But beware of bugs and lies.
Check what version of visual studio you’re using. That will have support for certain levels of c++.
If you have 2019 or 2022 installed with the latest updates, you should have complete converse of c++20 and all older standards.
https://devblogs.microsoft.com/cppblog/msvcs-stl-completes-stdc20/
See this for reference.
Here’s a snippet:
#if defined(__cplusplus) && __cplusplus >= 201703L std::cout << "compiler supports C++17" << std::endl; #elif defined(__cplusplus) && __cplusplus >= 201402L std::cout << "compiler supports C++14" << std::endl; #elif defined(__cplusplus) && __cplusplus >= 201103L std::cout << "compiler supports C++11" << std::endl; #elif defined(__cplusplus) && __cplusplus >= 199711L std::cout << "compiler supports C++98" << std::endl; #else std::cout << "compiler supports C++, standard unknown" << std::endl; #endif
To specify at compile-time, use
g++ -std=c++17
for instance.