【问题标题】:Is this the correct way to initialize static data members of template classes?这是初始化模板类的静态数据成员的正确方法吗?
【发布时间】:2014-04-07 18:53:17
【问题描述】:

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

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

template <typename T>
unsigned int Temp<T>::x = 0;

【问题讨论】:

标签: c++


【解决方案1】:

是的。是的。

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

template<class T> class X {
   static T s;
};

template<class T> T X<T>::s = 0;

——结束示例]

【讨论】:

    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2011-01-21
    • 2011-01-19
    相关资源
    最近更新 更多