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