C+中的数值常量+; >p>是从C库数学中知道的数字常数MakROS,例如代码> MyPI/ . C++标准的一部分? 我在我的房间里找不到它们
定义自定义常量的最佳方法是什么?C+中的数值常量+; >p>是从C库数学中知道的数字常数MakROS,例如代码> MyPI/ . C++标准的一部分? 我在我的房间里找不到它们,c++,C++,定义自定义常量的最佳方法是什么? 是一个常数。hpp与静态constexpr int foo=7是一个好的解决方案吗 如果问题1中的makros确实存在,我应该更喜欢它们的可读性,还是定义自己的常量(如在2中或以更好的方式)以确保类型安全 < C标准和C++标准都没有定义常数 MyPI < < 在常量定义中使用关键字static没有意义,因为默认情况下常量具有内部链接 在定义常数之前,您应该查看POSIX标准。< P> C标准和C++标准都不定义常数 MyPI/ < < 在常量定义中使用关键字s
是一个
常数。hpp
与静态constexpr int foo=7使用特殊名称空间的code>是一个好的解决方案吗
如果问题1中的makros确实存在,我应该更喜欢它们的可读性,还是定义自己的常量(如在2中或以更好的方式)以确保类型安全
< C标准和C++标准都没有定义常数<代码> MyPI < <
在常量定义中使用关键字static没有意义,因为默认情况下常量具有内部链接
在定义常数之前,您应该查看POSIX标准。
< P> C标准和C++标准都不定义常数<代码> MyPI/<代码> < <
在常量定义中使用关键字static没有意义,因为默认情况下常量具有内部链接
在定义一个常量之前,您应该查看POSIX标准
M_PI
不是标准
我认为这更像是一种偏好。我见过以下方法:
#define PI 3.1415
const double PI = 3.1415;
const double kPi = 3.1415;
再一次,我认为这是一种偏好,或者取决于你实际上在做什么。还可以尝试以下方法:
#define _USE_MATH_DEFINES
#include <math.h>
定义使用数学定义
#包括
M_PI
不是标准
我认为这更像是一种偏好。我见过以下方法:
#define PI 3.1415
const double PI = 3.1415;
const double kPi = 3.1415;
再一次,我认为这是一种偏好,或者取决于你实际上在做什么。还可以尝试以下方法:
#define _USE_MATH_DEFINES
#include <math.h>
定义使用数学定义
#包括
你可以使用boost-
#include <boost/math/constants/constants.hpp>
using namespace boost::math::constants;
double circumference(double radius)
{
return radius * 2 * pi<double>();
}
#包括
使用名称空间boost::math::constants;
双圆周(双半径)
{
返回半径*2*pi();
}
请参阅可以使用boost的
#include <boost/math/constants/constants.hpp>
using namespace boost::math::constants;
double circumference(double radius)
{
return radius * 2 * pi<double>();
}
#包括
使用名称空间boost::math::constants;
双圆周(双半径)
{
返回半径*2*pi();
}
查看可能有帮助可能有帮助