四时宝库

程序员的知识宝库

C++11常用特性:01 认识现代C++(c++ 11新特性总结)

C++ 是一个拥有用户群体相当大的语言,同时也在多个领域使用的语言。从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之久的积累。

C++11 是 C++ 的第二个主要版本(前一个是 C++98 而后一个是 C++17,C++14则是C++11的一次小的改进 ),并且是从 C++98 起的最重要更新。它引入了大量更改,标准化了既有实践,并改进了对 C++ 程序员可用的抽象。

C++14/17 则是作为对 C++11 的重要补充和优化, C++20 则将这门语言领进了现代化的大门,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。


C++11是对目前C++语言的扩展和修正, C++11不仅包含核心语言的新技能,而且扩展了C++的标准程序库(STL) ,并入了大部分的C++ Technical Report 1(TR1) 程序库(数学的特殊函数除外)。


C++11关键新特性:


完整C++11功能特性列表

核心语言功能特性

  • auto 与 decltype
  • 预置与弃置的函数
  • final 与 override
  • 尾随返回类型
  • 右值引用
  • 移动构造函数与移动赋值运算符
  • 有作用域枚举
  • constexpr 与字面类型
  • 列表初始化
  • 委托与继承的构造函数
  • 花括号或等号初始化器
  • nullptr
  • long long
  • char16_t 与 char32_t
  • 类型别名
  • 变参数模板
  • 推广的(非平凡)联合体
  • 推广的 POD (平凡类型与标准布局类型)
  • Unicode 字符串字面量
  • 用户定义字面量
  • 属性
  • lambda 表达式
  • noexcept 说明符与 noexcept 运算符
  • alignof 与 alignas
  • 多线程内存模型
  • 线程局部存储
  • GC 接口
  • 范围 for (基于 Boost 库)
  • static_assert (基于 Boost 库)

库功能特性

头文件

  • <typeindex>
  • <type_traits>
  • <chrono>
  • <initializer_list>
  • <tuple>
  • <scoped_allocator>
  • <cstdint>
  • <cinttypes>
  • <system_error>
  • <cuchar>
  • <array>
  • <forward_list>
  • <unordered_set>
  • <unordered_map>
  • <random>
  • <ratio>
  • <cfenv>
  • <regex>
  • <atomic>
  • <thread>
  • <mutex>
  • <future>
  • <condition_variable>

库功能特性

  • 原子操作库
  • emplace() 与其他遍及既存标准库所有部分的右值引用使用
  • std::unique_ptr
  • std::move_iterator
  • std::initializer_list
  • 有状态及有作用域分配器
  • std::forward_list
  • chrono 库
  • ratio 库
  • 新算法
  • Unicode 转换平台
  • thread library
  • std::exception_ptr
  • std::error_code 与 std::error_condition
  • 迭代器改进:
    • std::begin
    • std::end
    • std::next
    • std::prev
  • Unicode 转换函数

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接