cppfront: 仲夏更新

主要观点:作者在冬春期间花费大量时间构建“C++ safety, in context”论文和相关 ACCU 2024 安全主题演讲,同时致力于改善 C++内存安全,这些工作都有助于其 cppfront 实验,以提升 C++的安全性和简洁性。如今更新了 cppfront,包括多个版本的新特性及相关文档等,未来一年计划定期发布 cppfront 版本并分享许可证更新等,且将在 CppCon 上做演讲。

关键信息:

  • 冬春期间构建相关内容并致力于 C++内存安全工作,cppfront 实验旨在提升 C++安全性和简洁性。
  • 发布了多个 cppfront 版本,如 0.7.0(3 月 16 日)、0.7.1(7 月 10 日)、0.7.2(7 月 27 日),各版本有不同新特性,如“tersest”函数语法、支持多种 C++标准头文件、跟踪 WG21 合同变化、生成 Cpp1 后缀递增递减、允许列表中尾随逗号、非 UFCS 成员语法、串联字符串字面量、更快编译时间、添加命令行选项、范围运算符、编译时@regex元函数、支持函数类型、C++23 定界十六进制转义等。
  • 有了 Cpp2 和 cppfront 文档,通过 MkDocs 建立。
  • 未来计划定期发布 cppfront 版本并分享许可证更新,7 周后将在 CppCon 做演讲,包括 C++26 进展、C++内存安全问题与解决方案、cppfront 更新等内容。

重要细节:

  • 以“-pure-cpp2”模式编译默认使整个标准库可用,如在“tersest”函数语法示例中。
  • cppfront 跟踪不断增长的标准头文件列表以支持最新标准 C++。
  • 合同实现升级可保证合同表达式仅在被检查时才评估,且提供未评估组。
  • 允许x: const = init;x: * = init;无需_类型通配符来进行类型推导。
  • 为使 metafunctions 代码生成更简单添加尾随逗号。
  • @regex通过编译时反射和源代码生成实现编译和运行时性能可与相关库媲美。
  • 函数类型支持可用于std::function和函数指针。
  • cppfront 哲学是依赖 C++20 以保证兼容性和可移植性,支持 C++23/26 为“点亮”特性。
阅读 35
0 条评论