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