使用物理常数和增强

时间:2015-11-22 10:42:20

标签: c++ boost

我想在c ++程序中定义一些常量。优秀的boost库预先定义了它们,我喜欢为常量分配这些值,例如:

之类的东西
#include <iostream>
#include <boost/units/systems/si/codata/electromagnetic_constants.hpp>

int main(int argc, const char * argv[]) {
    double electron_charge = boost::units::si::constants::codata::e;

    std::cout << electron_charge << std::endl;
    return 0;
}

但这不起作用,因为boost的e不是double类型,而是类型value_type。如何以双精度访问该值?

1 个答案:

答案 0 :(得分:6)

你需要通过电荷单位来划分电子的电荷:库仑:

double electron_charge = boost::units::si::constants::codata::e / boost::units::si::coulomb;