3

C++14 草案增加了对变量模板的支持。提案(N3651)中的示例都显示了常量(constexprconst),但据我所知,这不是必需的。变量模板变量是否可以改变,例如,被分配给?

template<typename T>
T magicVal = 42;

magicVal<int> = 0;       // okay?
4

2 回答 2

6

是的,可变模板实例是一流的对象。实际上,模板 ID 只是一个名称。

static“在底层”是一个变量模板,与带有单个成员的老式类模板相同。

编辑:似乎该提案constexpr仅根据常数编写,例如一般表示数学实体。审查委员会要求扩展到其他对象,并在事后添加。

于 2013-11-07T01:07:04.007 回答
1

那将是一个真正奇怪的限制。通读最新草案的第 14 章,没有任何迹象表明有任何此类迹象。

于 2013-11-07T01:03:23.587 回答