在编译时计算常量库函数

时间:2011-06-16 06:32:36

标签: c++ constants compile-time

我想在我的函数中使用boltzmann常量。我使用以下代码来声明boltzmann常数

const double boltzmann_constant = 1.3806503 * pow (10,-23);

这会在编译时自行计算吗?如果现在,我应该如何确保在编译时计算它?声明常量的任何其他方法?

1 个答案:

答案 0 :(得分:3)

pow()函数不太可能在编译时计算。但是,所要求的操作可以用科学记数法直接表达,这是浮点数的标准方面:

const double boltzmann_constant = 1.3806503e-23;

对于更复杂的情况,例如sin(M_PI / 3),编写程序来计算和显示这些值以便将它们编辑成程序会很有用。如果你这样做,请帮助每个人,并包括一个解释常数是什么的评论:

const double magic_val = 0.8660254037844385965883; // sin(M_PI / 3);