鉴于功能非常微不足道,
int transform(int val) {
return (val + 7) / 8;
}
很明显,将这个函数变成一个constexpr
函数很容易,允许我在定义constexpr
变量时使用它,如下所示:
constexpr int transform(int val) {
return (val + 7) / 8;
}
我的假设是,这严格来说是一种改进,因为该函数仍可以在非constexpr
上下文中调用,并且现在也可以用于帮助定义编译时常量变量。
我的问题是,在某些情况下这是个坏主意吗?就像通过执行此功能一样,constexpr
我是否可以遇到在特定情况下该功能将不再可用或行为异常的情况?