Boost.units模块实现测试不同单位之间转换
在C++中,处理物理量时,多数情况下,我们需要进行不同单位之间的转换。Boost库提供了一个叫做“units”的库来处理这种需求。
使用Boost.units库的第一步是定义单位。Boost提供了一个叫做“quantity”的类来表示数值和单位之间的关系。下面是几个定义:
#include <boost/units/systems/si.hpp>
#include <boost/units/systems/si/io.hpp>
#include <boost/units/systems/si/prefixes.hpp>
#include <boost/units/unit.hpp>
#include <boost/units/quantity.hpp>
using namespace boost;
using namespace boost::units;
using namespace boost::units::si;
using namespace boost::units::si::prefixes;
typedef quantity<length> length_q; // 长度
typedef quantity<mass> mass_q; // 质量
typedef quantity<time> time_q; // 时间
typedef quantity<velocity> veloc