【问题标题】:Should I declare a multiplier number as a constant or use it directly as written without declaring?我应该将乘数声明为常量还是直接使用它而不声明?
【发布时间】:2019-09-22 19:04:39
【问题描述】:

当涉及到乘以常数时,在性能/代码优化方面,将其声明为常数是否更有效? (参见下面第一个代码示例中的 pi):

#include <iostream>

using namespace std;

int main()
{
    double const pi = 3.14;
    int nb;
    cin >> nb;
    double mul_pi = pi * nb;
    return 0;
}

或者我应该直接把它放在代码中而不声明它? (见下面的第二个代码示例):

#include <iostream>

using namespace std;

int main()
{
    int nb;
    cin >> nb;
    double mul_pi = 3.14 * nb;
    return 0;
}

提前非常感谢!

【问题讨论】:

  • 它在性能方面应该没有任何区别。但是就可读性和可维护性而言,使用常量更好。我总是使用constexpr 编译时常量表达式。

标签: c++ variables constants declaration


【解决方案1】:

由于 pi 是一个永远不会改变的数字,是的,您应该将它存储为常数。

另一种选择是包含 math.h 库并访问 M_PI:

#include <iostream>
#include <math.h>

using namespace std;

int main()
{
    int nb;
    cin >> nb;
    double mul_pi = M_PI * nb;
    return 0;
}

【讨论】:

  • 除此之外,将不变的参数存储在常量中总是有益的 - 通过这样做,您可以更轻松地进行小的更改(并防止内联编写的小差异影响代码输出的值)。
猜你喜欢
  • 1970-01-01
  • 2020-10-18
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-23
  • 2022-06-10
  • 1970-01-01
相关资源
最近更新 更多