Gre*_*g82 2 c++ const constexpr
在C++ 11之前,仅当变量声明为const,初始化程序是常量表达式并且是整数或枚举类型时,变量的值才能用于常量表达式.如果使用constexpr关键字定义变量,则 C++ 11 将删除变量必须为整数或枚举类型的限制:
constexpr double earth_gravitational_acceleration = 9.8;
constexpr double moon_gravitational_acceleration = earth_gravitational_acceleration / 6.0;
Run Code Online (Sandbox Code Playgroud)
这是什么意思?特别是,它是否意味着:
const double earth_gravitational_acceleration = 9.8;
const double moon_gravitational_acceleration = earth_gravitational_acceleration / 6.0;
Run Code Online (Sandbox Code Playgroud)
在C++ 11之前的C++中是非法的?G ++与此完全OK,即使有-ansi,-pedantic等...
谢谢!