conda install -c conda-forge uwsgi
为什么不能将它放在我的类头文件中?
我试了很长时间才弄清楚为什么不可能使用以下组合:
static,constexpr,非文字类型
但我的整体c ++知识太有限了。
答案 0 :(得分:6)
来自constexpr:
constexpr变量必须满足以下要求:
- 其类型必须是文字类型
- 必须立即初始化
- 其初始化的完整表达,包括所有隐式 转换,构造函数调用等必须是一个常量表达式
现在,从literal type我们可以得出结论,文字类型可能是一个聚合类型,一个至少有一个constexpr(可能是模板)构造函数的类型,它不是复制或移动构造函数,或者从C ++ 17开始,一个闭包类型。
从std::unordered_set
我们看到没有constexpr
构造函数。其他两种情况也不适用,因此您无法将std::unordered_set
标记为constexpr
。
基本上,您将std::unordered_set
与默认分配器一起使用,这意味着动态内存分配。当constexpr
完全是编译时野兽时,动态内存分配是一个运行时事物。