首页 >后端开发 >C++ >C 17 中有哪些新增功能:主要功能和增强功能指南?

C 17 中有哪些新增功能:主要功能和增强功能指南?

Linda Hamilton
Linda Hamilton原创
2024-12-07 06:01:15768浏览

What's New in C  17: A Guide to its Key Features and Enhancements?

C 17 有哪些新功能?

C 17 为该语言带来了许多增强和补充,包括:

语言功能:

  • 模板类的模板参数推导
  • 现代化使用 with ... 和列表: 为使用 std: 提供更清晰的语法: initializer_list.
  • 更干净的多重返回和流控制:引入了结构化绑定和 if constexpr 等功能,简化了复杂的控制流场景。
  • 基于范围的通用 for 循环: 扩展基于范围的 for 循环以支持哨兵和非容器类型。
  • 指针转换的数组修复:解决了将指针数组转换为不同指针类型的问题。

库添加:

  • 数据类型: 添加 std::variant、std::optional、std::any 和 std::string_view增强数据处理和操作。
  • invoke stuff:引入 std::invoke 和 std::apply 来简化函数调用和参数处理。
  • 文件System TS v1: 为文件系统提供标准化 API
  • 新算法:包括transform_reduce、exclusive_scan等算法,针对并行性和效率进行了优化。
  • 线程:增强线程功能具有 std::shared_mutex 和其他功能。
  • 库基础知识 TS v1: 提供搜索算法、多态分配器和其他实用程序的功能。
  • 容器改进: 添加 try_emplace、insert_or_assign、拼接等以改进容器处理。
  • 智能指针更改: 包括修复和对 unique_ptr 和weak_from_this 的增强。
  • 其他: 包括 std::clamp、std::lcm 等实用函数,扩展了标准库的功能。

已弃用并删除功能:

  • 删除:注册关键字、三字母组、ios 别名等。
  • 已弃用: std 中的分配器::函数和一些C

注意:

  • 某些功能可能无法在所有编译器中使用,直到它们支持 C 1z(包括 C 17 和其他更新) .
  • 请参阅官方文档了解全面的详细信息和规格。

以上是C 17 中有哪些新增功能:主要功能和增强功能指南?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn