说我有课
template <typename T>
class MyClass
{
static int myvar;
}
接下来的作业会发生什么?
MyClass<int>::myvar = 5;
MyClass<double>::myvar = 6;
按照标准会发生什么?我要有两个版本的 MyClass::myvar 还是只有一个?
最佳答案
是的,会有两个具有两个不同值的变量。但那是因为两者是完全不相关的类。这就是模板的工作原理。不要将它们视为类,而是将它们视为一组构建类的规则。
关于c++ - 具有不同实例化的静态模板类变量是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274625/