C++11新特性详解 文章一、语言特性 1.1、auto关键字(自动类型推导) 1.2、decltype关键字(表达式类型推导) 1.3、nullptr关键字(空指针常量) 1.4、强类型枚举(enum class) 1.5、char16_t/char32_t(Unicode字符类型) 1.6、结合decltype与auto的推导 二、初始化与聚合类型 2.1、统一初始化语法(大括号{}初始化) 2.2、std::initializer_list(初始化列表支持) 2.3、std::array(固定大小数组容器) 2.4、std::forward_list(单向链表容器) 2.5、无序关联容器(unordered_map) 2.6、无序关联容器(unordered_set) 三、类与对象增强 3.1、Lambda表达式(匿名函数) 3.2、尾随返回类型(auto func(…) -> return_type) 3.3、变长模板参数(Variadic Templates) 3.4、右值引用(&&)与移动语义 3.5、委托构造函数(委托同类构造函数) 3.6、final/override 关键字(虚函数控制) 3.7、constexpr(编译时常量表达式) 3.8、default/delete(显式默认/删除成员函数) 四、右值引用与移动语义 4.1、移动构造函数与移动赋值运算符 4.2、std::unique_ptr/std::shared_ptr/std::weak_ptr(智能指针) 4.3、std::move(资源转移标记) 4.4、std::forward(完美转发) 五、其他核心特性 5.1、范围`for`循环(for(auto& item : container)) 5.2、用户定义字面量(自定义字面量后缀) 5.3、alignas/alignof(内存对齐控制) 5.4、noexcept(异常规范) 5.5、static_assert(编译时断言) 六、标准库增强 6.1、std::thread(原生线程支持) 6.2、std::mutex/std::lock_guard(互斥锁) 6.3、std::atomic(原子操作) 6.4、std::condition_variable(条件变量) 6.5、std::unique_ptr(独占所有权) 6.6、std::shared_ptr(引用计数共享) 6.7、std::weak_ptr(解决循环引用) 七、字符串与正则表达式 7.1、std::tuple(异构数据元组) 7.2、std::regex(正则表达式支持) 7.3、std::chrono(时间与日期库) 7.4、新算法(all_of/any_of/none_of) 7.5、emplace_back(就地构造元素) 八、容器 8.1、std::function(通用函数包装器) 8.2、std::bind(函数绑定器) 8.3、变参模板库支持(如std::tuple) 8.4、std::random(随机数生成器) 九、模板别名与外部模板 9.1、外联模板(extern template) 9.2、模板别名(using替代typedef) 9.3、std::result_of(函数返回类型推导) 9.4、std::decay(类型退化) 9.5、decltype与模板参数推导 9.6、std::enable_if(SFINAE条件启用) 9.7、std::conditional(类型条件选择) 9.8、std::integral_constant(编译时常量) 9.9、标准库新增头文件 文档导航C++面试八股文 → 我们要如何帮助您? 名称 邮件 Subject Message