我了解在编译时可以使用constexpr
变量。
例如,对于模板或静态asser。
但如果我想在没有constexpr的情况下这样做,我可以使用static const
。
自C ++ 11/14引入constexpr以来
之间的区别是什么constexpr int a = 3;
//AND
static const int a = 3;
谢谢!
另一种看待这个问题的方法是我应该使用哪种?
答案 0 :(得分:10)
我知道的主要区别是,constexpr
的值必须在编译时知道,而const static
可以在运行时分配。
const static int x = rand();