从“c ++ primer,4th”开始,有一句话
常量表达式是编译器在编译时可以计算的整数类型的表达式。
双,长型不行吗?
答案 0 :(得分:0)
根据this页面,您可以创建任何类型的constexpr
具有简单的析构函数,并且是聚合或具有constexpr
构造函数,前提是这适用于每个基类也是。换句话说,除了遵循规则的用户定义类型之外,任何基本类型都可以。
所以,是的,您可以拥有constexpr
类型为double
的{{1}}表达式(long
是一个整数类型,因此本书并没有挑战它的constexpr
- iness)。
答案 1 :(得分:-2)
应用字符串常量,如:
const std :: string s(“这是一个常量表达式”);
另外,
const double x(0.25);
其中x是const double,0.25是常量表达式。