带有静态类成员的c++模板类

C++ template class with static class member

本文关键字:c++ 静态类 成员      更新时间:2023-10-16

我是模板编程的新手。我有一个向量类,我正在尝试模板,其中包含与父类相同的静态成员:

template<typename T>
class Vector
{
   // vector stuff
   static const Vector c_NullVector;
}

我正在尝试初始化这个静态成员,但只有当我显式声明类型时才能成功,例如:

const Vector2d<float> Vector2d<float>::c_Zero(0.0);

如果可能的话,我宁愿不必初始化每个类型。这可能吗?

您必须提供如下定义:

template<typename T>
class Vector
{
   // vector stuff
   static const Vector c_NullVector;
}
template <typename T>
const Vector<T> Vector<T>::c_NullVector;

如果你能想出一个泛型初始化,你可以把它放在定义中。

我怀疑,这是可能的。那么Vector<MyVeryComplicatedClass>呢?你怎么知道如何初始化它?