将物理常数与boost一起使用

Using physical constants with boost

本文关键字:一起 boost 常数      更新时间:2023-10-16

我想在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;
}

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

你需要将电子的电荷除以电荷单位:库仑:

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