使用物理常数和增强

DaP*_*hil 1 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;
}
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*ier 6

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

double electron_charge = boost::units::si::constants::codata::e / boost::units::si::coulomb;
Run Code Online (Sandbox Code Playgroud)