C++11 的编译器支持

C++11 主要功能特性一览

特性描述提案GCCClangMSVCApple ClangEDG eccpIntel C++Nvidia HPC C++ (ex PGI)*Nvidia nvccCrayEmbarcadero C++ BuilderIBM Open XL C++ for AIXIBM Open XL C++ for z/OSIBM XL C++Sun/Oracle C++HP aCCDigital Mars C++核心功能
右值引用 (T&&)支持移动语义和完美转发的基础。N21184.33.0VS20104.3支持支持支持支持支持支持支持支持支持不支持不支持不支持
默认和删除的函数 (=default, =delete)显式指定默认构造/析构、禁用拷贝等。N23464.43.0VS20134.4支持支持支持支持支持支持支持支持支持不支持不支持不支持
auto 类型推导编译器根据初始化值自动推断类型。N19844.42.9VS20104.4支持支持支持支持支持支持支持支持支持不支持不支持不支持
范围 for 循环 (for (auto x : container))简洁遍历容器。N29304.63.0VS20124.6支持支持支持支持支持支持支持支持支持不支持不支持不支持
基于列表的初始化 ({})支持统一初始化语法。N26404.43.1VS20134.4支持支持支持支持支持支持支持支持支持不支持不支持不支持
委托构造函数一个构造函数调用另一个构造函数。N19864.73.3VS20135.0支持支持支持支持支持支持支持支持支持不支持不支持不支持
继承构造函数派生类继承基类构造函数。N25404.83.3VS20135.0支持支持支持支持支持支持支持支持支持不支持不支持不支持
nullptr替代 NULL,更安全明确的空指针类型。N24314.63.0VS20104.6支持支持支持支持支持支持支持支持支持不支持不支持不支持
强类型枚举 (enum class)枚举值不泄漏到外部作用域。N23474.43.0VS20124.4支持支持支持支持支持支持支持支持支持不支持不支持不支持
静态断言 (static_assert)编译期检查条件。N17204.32.9VS20104.3支持支持支持支持支持支持支持支持支持不支持不支持不支持
变长模板 (template<typename... Args>)支持任意数量模板参数。N22424.33.0VS20134.3支持支持支持支持支持支持支持支持支持不支持不支持不支持
类型推导 (decltype)推导表达式的类型。N23434.33.0VS20104.3支持支持支持支持支持支持支持支持支持不支持不支持不支持
尾返回类型 (auto func() -> type)用于返回类型依赖模板参数的场景。N25414.43.0VS20104.4支持支持支持支持支持支持支持支持支持不支持不支持不支持
constexpr 函数编译期求值函数。N22354.63.1VS20154.6支持支持支持支持支持支持支持支持支持不支持不支持不支持
noexcept 说明符指示函数不会抛出异常。N30504.63.0VS20154.6支持支持支持支持支持支持支持支持支持不支持不支持不支持
overridefinal明确重写虚函数、阻止进一步重写。N29284.73.3VS20125.0支持支持支持支持支持支持支持支持支持不支持不支持不支持
用户定义字面值(Literal)定义自定义的字面量操作(如 "100"_cm)。N27654.73.1VS20155.0支持支持支持支持支持支持支持支持支持不支持不支持不支持
多线程内存模型提供对并发的内建支持。N24294.13.1VS20124.1支持支持支持支持支持支持支持支持支持不支持不支持不支持

📚 C++11 标准库新特性

模块 / 类别描述
<thread> 线程库支持多线程(std::threadstd::mutexstd::lock_guard 等)。
智能指针std::shared_ptrstd::unique_ptrstd::weak_ptr
正则表达式std::regexstd::regex_searchstd::regex_match 等。
时间库std::chrono,精确时间度量与时间段。
随机数库std::mt19937std::uniform_int_distribution 等。
类型 traitsstd::is_samestd::enable_ifstd::remove_reference 等。
元编程工具std::tuplestd::integer_sequencestd::integral_constant
可调用对象封装std::functionstd::bindstd::ref
std::array定长数组容器。
std::forward_list单向链表容器。
std::unordered_map/set基于哈希的容器。
并发工具std::futurestd::promisestd::asyncstd::atomic
std::to_stringstd::stoi 等函数字符串与数值互转的便捷接口。
<initializer_list>支持 {} 初始化列表。
容器增强支持移动语义的构造函数和 emplace 插入方法。
std::movestd::forward用于移动语义和完美转发。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值