繁体   English   中英

通过boost使用物理常数

[英]Using physical constants with 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类型。 如何以双精度获取值?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM