内容简介:JSON for Modern C++ 3.10.0 已发布,这是推出 3.9.1 一年多后的首次更新。此版本增加了一些新功能、引入许多小的变化和修复错误。 其中值得注意的变化是增加了扩展的诊断功能,通过在引入json.hpp之前定义JSON_...
JSON for Modern C++ 3.10.0 已发布,这是推出 3.9.1 一年多后的首次更新。此版本增加了一些新功能、引入许多小的变化和修复错误。
其中值得注意的变化是增加了扩展的诊断功能,通过在引入json.hpp
之前定义JSON_DIAGNOSTICS
,JSON 指针会被添加到异常中,这有助于调试对象访问、数组索引或类型不匹配的问题。
另一个重要变化是增加完全超负荷工作的 CI,它会对每次 commit 执行大量检查,支持将来更频繁地发布新版本。
新功能
-
通过向异常消息添加 JSON 指针来添加可扩展的诊断信息,指示无效类型错误或越界错误的确切位置。
[json.exception.type_error.302] (/address/housenumber) type must be number, but is string
库会在检测到的 JSON 值的本地上下文中抛出异常。此操作对于获取详细的诊断信息以及进行调试都比较困难。为了创建更好的诊断信息,每个 JSON 值都需要一个指向其父值的指针,以便可以创建全局上下文(即从根值到导致异常的值的路径)。然后将该全局上下文作为 JSON 指针提供。由于使用此全局上下文的代价是为每个 JSON 值存储一个额外的指针以及维护父关系的运行时开销,因此默认情况下会禁用扩展诊断。参阅文档了解更多信息。
-
新增 GDB pretty printer 以方便读取 GDB 中的
basic_json
值 -
添加新的
store
值到 cbor_tag_handler_t,它可以将 CBOR 值的标签存储为二进制子类型 -
添加对具有不可默认构造类型的容器的支持
错误修复
- 修复
ordered_json
关闭异常时无法使用的回归错误 - 为
ordered_json
增加了迭代器范围插入 - 将二进制子类型的类型更改为
std::uint64_t
,如果没有给出子类型,subtype()
函数的返回值已修复为文档值-1
- 修复内部
json_ref
类型的移动构造函数,该构造函数在使用-fno-elide-constructors
进行编译时会创建null
值 - 修复容器在边缘情况下的
input_adapter
编译问题 - 支持从
std::byte
容器进行解析 - 在
to_json
重用 JSON 值的情况下修复内存泄漏问题 - 在
EOF
找不到符号的情况下修复编译错误 - 修复在 libc++ 上使用
NLOHMANN_JSON_SERIALIZE_ENUM
搭配ordered_json
时的编译错误
所有变更均向后兼容,点此查看完整更新内容。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法概论
Sanjoy Dasgupta、Christos Papadimitriou、Umesh Vazirani / 王沛、唐扬斌、刘齐军 / 清华大学出版社 / 2008-7 / 39.99元
《国外经典教材·算法概论》涵盖了绝大多数算法设计中的常用技术。在表达每一种技术时,阐述它的应用背景,强调每个算法运转背后的简洁数学思想,注意运用与其他技术类比的方法来说明它的特征,并提供了大量相应实际问题的例子。《国外经典教材·算法概论》同时也注重了对每一种算法的复杂性分析。全书共10章,从基本的数字算法人手,先后介绍了分治、图的遍历、贪心算法、动态规划、线性规划等技术,对NP完全问题进行厂基本而......一起来看看 《算法概论》 这本书的介绍吧!