【发布时间】:2013-10-16 23:09:55
【问题描述】:
说我有课
template <typename T>
class MyClass
{
static int myvar;
}
现在接下来的作业会发生什么?
MyClass<int>::myvar = 5;
MyClass<double>::myvar = 6;
按照标准会发生什么?我会拥有两个版本的 MyClass::myvar 还是只有一个?
【问题讨论】:
-
@ShafikYaghmour 我正在为大量类编写手册,这个问题发生在我身上,因为我有一个设置一些静态变量的静态函数,我认为它可能是一个很好的向公众提问。可能知道标准对它的描述比尝试更好。
-
@TheQuantumPhysicist 好的,这是有道理的,我从标准中找到了引用,它说每个专业化都会有任何静态成员的副本。
标签: c++ templates static static-members