C 1z 编译器中的 C 17 功能
C 17 现已功能完整,支持“C 1z”的编译器将实现大部分功能C 17 中添加的功能。C 1z 编译器中将提供的一些关键功能包括:
语言特性:
- 类模板的模板参数推导
- template
- Non - 类型模板参数修复
- templatetypename bob> struct foo {}
- ( 折叠 ... 表达式 ) 并进行修订
- auto x{8};是一个 int
- 现代化使用...和列表
Lambda:
- Constexpr lambdas
- 捕获*这个lambda
属性:
- [[fallthrough]]、[[nodiscard]]、[[maybe_unused]] 属性
- [[属性]] 命名空间和枚举器
语法清理:
- 内联变量
- 使用结构化绑定和 if (init ; 健康)状况)语法
数据类型:
- std::variant
- std::opti onal
- std::any
- std::string_view
调用东西:
- std::invoke
- std::apply
- std::make_from_tuple
- is_invocable、is_invocable_r 和invoke_result
文件系统 TS v1:
算法:
- 新算法,例如 for_each_n、reduce 和Transform_reduce
线程:
库基础知识 TS v1:
- 搜索算法和技术
- 多态分配器(std::pmr)
- 容器改进,包括拼接和非成员 std::size
智能指针:
其他更改:
- C 17 库基于 C11 而不是 C99
- 特殊数学函数
- std::clamp
- std::void_t
注意:请查阅编译器文档以获取确切的列表您的特定编译器支持的 C 17 功能。
以上是C 1z 编译器中实现了哪些 C 17 功能?的详细内容。更多信息请关注PHP中文网其他相关文章!