VS版本对应C++版本支持情况
Visual Studio 各版本对应的 C++ 标准支持情况表,包括主要年份版本及对 C++ 标准的支持
Visual Studio 各版本对应的 C++ 标准支持情况表,包括主要年份版本及对 C++ 标准的支持程度。
| VS 年份版本 | 主版本号 | C++98 | C++03 | C++11 | C++14 | C++17 | C++20 | 备注 |
|---|---|---|---|---|---|---|---|---|
| VS 6.0 | 6.0 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | 经典老版本,支持旧标准 |
| VS 2005 | 8.0 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | 部分模板改进 |
| VS 2008 | 9.0 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | 部分 TR1 特性支持 |
| VS 2010 | 10.0 | ✅ | ✅ | 部分 | ❌ | ❌ | ❌ | Lambda 支持、自动类型推断(auto)有限 |
| VS 2012 | 11.0 | ✅ | ✅ | ✅ 部分 | ❌ | ❌ | ❌ | 改进 lambda、智能指针、右值引用支持有限 |
| VS 2013 | 12.0 | ✅ | ✅ | ✅ 部分 | 部分 | ❌ | ❌ | 完善 C++11 支持,初步 C++14 支持(如 constexpr) |
| VS 2015 | 14.0 | ✅ | ✅ | ✅ 完全 | 部分 | ❌ | ❌ | C++11 完整支持,C++14 新特性部分支持 |
| VS 2017 | 15.0 | ✅ | ✅ | ✅ 完全 | ✅ 部分 | 部分 | ❌ | C++14 基本完整,C++17 新特性部分支持 |
| VS 2019 | 16.0 | ✅ | ✅ | ✅ 完全 | ✅ 完全 | 部分 | 部分 | C++17 基本完整,C++20 部分特性(如 Concepts)预览 |
| VS 2022 | 17.0 | ✅ | ✅ | ✅ 完全 | ✅ 完全 | ✅ 完全 | 部分 | C++20 特性大部分支持,C++23 预览支持 |
✅ = 支持❌ = 不支持“部分” = 仅支持部分特性
Visual Studio 年份版本 → C++ 标准支持时间线图的文字/图形化示意版,便于直观查看:
C++ 标准
┌─────────────┬─────────────────────────────────────────────┐
│ VS 版本 │ 支持情况 │
├─────────────┼─────────────────────────────────────────────┤
│ VS 6.0 │ C++98/03 ✅ │
│ VS 2005 │ C++98/03 ✅ │
│ VS 2008 │ C++98/03 ✅ │
│ VS 2010 │ C++98/03 ✅ C++11 部分 Λ, auto │
│ VS 2012 │ C++11 部分 ✅, 智能指针, Lambda 部分 │
│ VS 2013 │ C++11 ✅ 完整, C++14 部分 ✅ │
│ VS 2015 │ C++11 ✅ 完整, C++14 部分 ✅ │
│ VS 2017 │ C++11/14 ✅, C++17 部分 ✅ │
│ VS 2019 │ C++11/14 ✅, C++17 ✅ 完整, C++20 部分预览 │
│ VS 2022 │ C++11/14/17 ✅, C++20 ✅ 大部分, C++23 预览 │
└─────────────┴─────────────────────────────────────────────┘
或者用时间线形式(用年份横轴,C++ 标准纵轴):
C++ 标准
C++23 ┤
C++20 ┤ ██████ VS2022, 部分 VS2019
C++17 ┤ ██████ VS2017 ██████ VS2019 ██████ VS2022
C++14 ┤ ████ VS2013 ██████ VS2015 ██████ VS2017 ██████ VS2019/22
C++11 ┤ ███ VS2010 部分 ██████ VS2012 ██████ VS2013/15/17/19/22
C++03 ┤ ██████ VS6/2005/2008/2010/2012/2013/2015/2017/2019/2022
C++98 ┤ ██████ VS6/2005/2008/2010/2012/2013/2015/2017/2019/2022
└────┬────┬────┬────┬────┬────┬────┬────┬────┬────┘
6.0 2005 2008 2010 2012 2013 2015 2017 2019 2022
VS年份版本
💡 注解:
- • 横轴是 VS 年份版本,纵轴是 C++ 标准。
- • █ 表示该 VS 版本对该标准的支持情况(部分或完整)。