Boost C++ 库

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

PrevUpHomeNext

第 34 章. 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 功能
比率 I/O
附录
附录 A:历史
附录 B:基本原理
附录 C:实现说明
附录 D:常见问题解答
附录 E:致谢
附录 F:测试
附录 G:问题单
附录 H:未来计划

如何使用本文档

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

  • 代码采用 字体 并进行语法高亮显示。
  • 需要您提供的可替换文本以 斜体 显示。
  • 自由函数以代码字体呈现,后跟 (),如 free_function()
  • 如果名称指的是类模板,则指定如下:class_template<>;也就是说,它采用代码字体,其名称后跟 <> 以指示它是一个类模板。
  • 如果名称指的是类似函数的宏,则指定如下:MACRO();也就是说,它采用代码字体并大写,其名称后跟 () 以指示它是一个类似函数的宏。类似对象的宏不带尾随的 ()
  • 指代泛型编程意义上的概念 的名称以驼峰式大小写指定。
[Note] 注意

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

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

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

Boost.Ratio 旨在实现 C++11 中的编译时比率工具,如 N2661 - A Foundation to Sleep On 中提出的那样。该文档提供了关键设计决策的背景和动机,并且是本文档中大量信息的来源。

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

Boost.Ratio 库提供

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

PrevUpHomeNext