C++17

来自cppreference.com
< cpp


C++17 是小版本 C++14 之后的一个大版本,它提供了新的语言和库功能特性。该标准于 2017 年 12 月发布。

下列特性被合并入 C++17:

过时特性

已移除特性
弃用特性
  • std::iterator
  • std::raw_storage_iterator
  • std::get_temporary_buffer
  • std::is_literal_type
  • std::result_of
  • 整个 <codecvt> 头文件

新的语言特性

新的头文件

新的库特性

工具类型

  • std::tuple
  • std::any
  • std::optional
  • std::variant
  • 搜索器
  • std::as_const
  • std::not_fn

内存管理

  • 未初始化内存算法
    • std::destroy_at
    • std::destroy
    • std::destroy_n
    • std::uninitialized_move
    • std::uninitialized_value_construct
  • weak_from_this
  • std::pmr::memory_resourcestd::pmr::polymorphic_allocator
  • std::aligned_alloc
  • 通透std::owner_less
  • std::shared_ptr 的数组支持
  • 带有显式对齐的分配函数

编译时编程

算法

  • std::clamp
  • 并行算法与执行策略
  • std::inclusive_scan
  • std::exclusive_scan
  • std::gcd
  • std::lcm
  • std::reduce

迭代器与容器

数值

其他

缺陷报告

C++17 中修正的缺陷报告(核心 290 个,库 363 个)