我想在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
。如何以双精度访问该值?
答案 0 :(得分:6)
你需要通过电荷单位来划分电子的电荷:库仑:
double electron_charge = boost::units::si::constants::codata::e / boost::units::si::coulomb;