C++ 14 添加于 Boost 1.69.0
本次发布
依赖项
safe_numerics
C++ 中的算术运算不保证产生正确的数学结果。这是从 C 语言早期继承下来的特性。int、unsigned int 等类型的行为被设计成紧密映射到底层硬件。计算机硬件使用固定数量的比特来实现这些类型。当算术运算的结果超出这个比特数时,结果是未定义的,通常也不是程序员想要的。C++ 程序员有责任保证这种行为不会导致程序出现不正确的行为。本库实现了这些数据类型的特殊版本,它们表现得与原始类型完全一样,除了这些运算的结果都会被检查,以确保任何尝试存储未定义运算结果的操作都会抛出异常。
注意:这是 CPPCon 上各种演示文稿的主题。
第一个是一个简短的版本,它提出了该库的主要动机,并带有推销性的宣传。有趣且适合高层管理人员。https://www.youtube.com/watch?v=cw_8QkFXZjI&t=1s
第二个版本更详尽,因为它涉及一个真实世界的案例研究,该研究触及了该库的大部分重要方面。https://www.youtube.com/watch?v=93Cjg42bGEw。
最后,对于那些仍然喜欢文字的人来说,还有投入了大量精力的文档。http://htmlpreview.github.io/?https://github.com/robertramey/safe_numerics/master/doc/html/index.html
如果您使用并发现此库很有用,请点赞。我需要动力!!!