Draft C ++ 14增加了对变量模板的支持。提案中的示例(N3651)都显示常量(constexpr
或const
),但据我所知,这不是必需的。可变模板变量可以变化,例如,分配给?
template<typename T>
T magicVal = 42;
magicVal<int> = 0; // okay?
答案 0 :(得分:6)
是的,变量模板实例是第一类对象。实际上,template-id只是一个名称。
“引擎盖下”变量模板与具有单个static
成员的老式类模板相同。
编辑:似乎该提案仅以constexpr
常量编写,例如通常用于表示数学实体。审查委员会要求扩展其他对象,并作为事后补充加入。
答案 1 :(得分:1)
这将是一个真正奇怪的限制;阅读latest draft的第14章,没有任何类似的迹象。