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中文网其他相关文章!