欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
C++17
来自开放百科 - 灰狐
您可以在Wikipedia上了解到此条目的英文信息 C++17 Thanks, Wikipedia. |
C++17又称C++1z,C++17旨在作为大型扩展,最终的投票期于2017年结束。
目录 |
简介
最新的GCC6已支持C++ concept的C++事务型内存(Transactional Memory),Visual Studio与Clang目前都提供了modules。
新功能
- 静态断言static_assert无需提供出错信息
- 新增std::basic_string_view, 对外部字符串或字符串片断(string-slice)的引用
- 移除 trigraphs
- 具有模板形式的模板(template template)参数允许使用 typename(之前仅允许使用 class)
- auto之新规定并简化在括弧内初始化的定义
- 嵌套的 namespace的定义
- std::uncaught_exceptions 取代 std::uncaught_exception
- 支持UTF-8字符
- 变长参数模板的Folding运算
- 为 std::map 与 std::unordered_map增加了基于结点的插入操作
- 容器访问操作表示方法的统一化(Uniform container access)
- 连续型迭代器(Contiguous Iterators)
- if与switch语句内的初始化
- 基于boost::filesystem新增处理文件路径的std::filesystem
- 具有并行处理功能的STL 算法
- 新增特殊数学函数
- 引进Library Fundamentals TS I中的内容
- std::variant,可作为类型安全(type-safe)的联合所使用的容器(union container)
- 编译期静态确定的 if判断式if constexpr(expression)
- 结构化绑定,允许auto [a, b] = getTwoReturnValues();
- 简化模板之构造函数,例如允许以pair(5.0, false) 取代pair<double,bool>(5.0, false)
- 内联式(Inline)变量,允许在头文件(header files)声明变量
项目
文档
图集
链接
分享您的观点