我正在使用哪个版本的C++
Which version of C++ am I using?
当前我在Windows环境中使用C++。我正在使用Visual Studio 2008 Service pack 1。
我从来没有想过C++版本,除非我知道了C++11
。似乎有不同的版本,如ANSI标准,C++98标准等。
-
我如何知道我使用的是哪个版本的C++?
-
如果我没有Visual Studio,我知道我可以使用其他编译器,如TC来编译我的C++代码。在这种情况下,我如何才能知道编译器使用的是哪个版本的C++。
-
是在连续的C++版本中对编程概念进行了更改,还是仅在语言设计中进行了更改?
这并不像版本检查那么简单。
每个支持某些C++11的编译器都支持C++11的不同子集。由于显而易见的原因,目前还没有编译器宣称完全符合C++11。
C++11规范要求定义具有值201103L
的预定义宏__cplusplus
。但是,不能单独依赖此宏。不是真正的代码。
相反,您必须依赖编译器特定的宏来判断何时使用编译器以及使用哪个版本的编译器。或者,您可以使用Boost.Config来帮助您检测是否支持特定功能。
相关文章:
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 导入库可以跨dll版本工作吗
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 在clang++预处理器中确定gcc工具链版本
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 不同的Visual Studio版本中缺少.dll
- 用符号版本替换对函数的所有调用
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 我需要分发哪些版本的可再分发文件
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在运行时读取 libstdc++ 版本
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- Vulkan SDK 版本 1.1.85.0 在 Kubuntu 18.10 上链接
- 如何正确实现与基类不同的版本?
- 从预处理器获取 Windows 版本(C++ Win32)
- 表达式 SFINAE:如何根据类型是否包含具有一个或多个参数的函数来选择模板版本
- 如何在C++中将 Python 字符串转换为其转义版本?
- Qt版本应该在其他计算机上运行吗?