Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

PrevUpHomeNext

第 32 章。Boost.Ratio 2.1.0

Howard Hinnant

Beman Dawes

Vicente J. Botet Escriba

根据 Boost 软件许可协议 1.0 版分发。(请参阅随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制副本)

目录

概述
动机
描述
用户指南
入门
教程
示例
外部资源
参考
标准 C++11 功能
Ratio I/O
附录
附录 A:历史
附录 B:原理
附录 C:实现说明
附录 D:常见问题解答
附录 E:致谢
附录 F:测试
附录 G:工单
附录 H:未来计划

如何使用本文档

本文档使用以下命名和格式约定。

  • 代码以 fixed width font 字体显示,并带有语法高亮。
  • 您需要提供的可替换文本以 italics 字体显示。
  • 自由函数以代码字体显示,后跟 (),例如 free_function()
  • 如果名称引用类模板,则像这样指定:class_template<>;也就是说,它以代码字体显示,并且其名称后跟 <> 以指示它是一个类模板。
  • 如果名称引用类似函数的宏,则像这样指定:MACRO();也就是说,它以代码字体大写显示,并且其名称后跟 () 以指示它是一个类似函数的宏。 类似对象的宏不带尾随的 ()
  • 在泛型编程意义上,引用概念的名称以 CamelCase 形式指定。
[Note] 注意

此外,像这样的注释指定了提供额外背景或原理的非必要信息。

最后,您可以将以下内容添加到本文档中的任何代码片段中

// Include all of Ratio files
#include <boost/ratio.hpp>
using namespace boost;

Boost.Ratio 旨在实现 C++11 中的编译时 ratio 功能,如 N2661 - 睡眠的基础 中提出的那样。 该文档为关键设计决策提供了背景和动机,并且是本文档中大量信息的来源。

由于 C++11 现在已普遍可用,因此仅出于向后兼容性而保留此库,并且从 Boost 1.84 开始,它已根据标准 <ratio> 头文件实现。

Boost.Ratio 库提供:

  • 类模板 ratio,用于指定编译时有理常数,例如纳秒的 1/3 或每米的英寸数。 ratio 表示编译时常数的编译时比率,并支持具有溢出和被零除保护的编译时算术。
  • 它以 std::basic_string 的形式提供 boost::ratio<N, D> 的文本表示形式,这对于 I/O 很有用。

PrevUpHomeNext