这是初始化模板类的静态数据成员的正确方法吗?
template <typename T>
class Temp
{
public:
static unsigned int x;
};
template <typename T>
unsigned int Temp<T>::x = 0;
答案 0 :(得分:7)
是。是的,是的。
[C++11: 14.5.1.3/1]
静态数据成员的定义可以在包含静态成员类模板定义的命名空间范围内提供。 [例如:template<class T> class X { static T s; }; template<class T> T X<T>::s = 0;
-end example]