这是初始化模板类的静态数据成员的正确方法吗

Is this the correct way to initialize static data members of template classes?

本文关键字:数据成员 方法 静态 初始化      更新时间:2023-10-16

这是初始化模板类的静态数据成员的正确方法吗?

template <typename T>
class Temp
{
public:
    static unsigned int x;
};
template <typename T>
unsigned int Temp<T>::x = 0;

是。是的。

[C++11: 14.5.1.3/1]可以在包含静态成员的类模板的定义的命名空间范围中提供静态数据成员的定义[示例:

template<class T> class X {
   static T s;
};
template<class T> T X<T>::s = 0;

-结束示例]