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?
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.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.