Boost 1.76.0 发布,可移植的 C++ “后备”标准库

栏目: 软件资讯 · 发布时间: 4年前

内容简介:可移植的 C++ “后备”标准库 Boost 发布了 1.76.0 版本,Boost 库是一个经过千锤百炼、可移植、提供源代码的 C++ 库,作为标准库的后备,是 C++ 标准化进程的发动机之一,由 C++ 标准委员会库工作组成员发起。 ...

可移植的 C++ “后备”标准库 Boost 发布了 1.76.0 版本,Boost 库是一个经过千锤百炼、可移植、提供源代码的 C++ 库,作为标准库的后备,是 C++ 标准化进程的发动机之一,由 C++ 标准委员会库工作组成员发起。

主要更新内容

  • Asio
    • 添加了 ip::scope_id_type 类型别名
    • 添加了 ip::port_type 类型别名
    • 重构 SFINAE 用法以缩短编译时间
    • 将 any_io_executor 改为 "强 typedef" 风格的类
    • 确保在所有平台上清除 pthread 条件变量属性
  • Atomic
    • 修复了 ARM 的 MSVC 编译问题
  • Bind
    • 在 boost::bind 中增加对使用标准 C++11 占位符的支持
    • 更新 boost:: 以适用于可变参数模板
  • Container
    • 在所有容器中添加了 no-discard 属性,以捕获与未使用返回值有关的错误
    • 用 Boost.Container 自己的类替换了默认的标准异常类,大大减少了包含的文件开销。例如:在MSVC 19 boostcontainervector.hpp 中,预处理文件大小从 1.5MB 减少到 930KB。如果你还想使用标准异常类,可以在使用任何 Boost.Container 类之前定义 BOOST_CONTAINER_USE_STD_EXCEPTIONS
  • Core
    • 在兼容的参考包装器之间添加隐式转换
    • 添加 boost/core/cmath.hpp,这是来自 cmath 的浮点分类函数的可移植实现
    • 添加 boost/core/bit.hpp,这是 C ++ 20 标准头文件 bit 的可移植实现
    • 修复 C++20 下字符类型的 BOOST_TEST_EQ、BOOST_TEST_NE
  • DLL
    • boost::dll::import 改名为 boost::dll::import_symbol,以避免与 C++20 的导入关键字冲突
  • Filesystem
    • 更新了与 ​​WASI 平台的兼容性
    • 修复了 path::remove_filename 在路径为 "////" 时引发的异常
    • 修复了 create_directories 无视内部发出的文件状态查询操作的错误。这可能导致 create_directories 返回错误代码

详情请查看更新公告


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Sovereign Individual

The Sovereign Individual

James Dale Davidson、William Rees-Mogg / Free Press / 1999-08-26 / USD 16.00

Two renowned investment advisors and authors of the bestseller The Great Reckoning bring to light both currents of disaster and the potential for prosperity and renewal in the face of radical changes ......一起来看看 《The Sovereign Individual》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器