带有静态类成员的c++模板类
C++ template class with static class member
我是模板编程的新手。我有一个向量类,我正在尝试模板,其中包含与父类相同的静态成员:
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>
呢?你怎么知道如何初始化它?
相关文章:
- 在C++中使用非静态类函数的函数
- (为什么)我们可以在初始化中将非静态类成员分配给静态变量吗?
- 在C++中,为什么使用静态类函数而不是常规函数?
- 静态类属性,C++中的多个构造函数
- 如何从静态类函数初始化静态类对象
- 在 c++ 中使用字符串变量选择静态类结构,而不带对象
- 是否通过单元化指针UB访问静态类成员
- 如何在 c++ 中初始化静态类对象?
- 为静态类创建指向对象的指针是否合法?
- thread_local静态类在程序退出时在无效地址处销毁
- 从静态成员函数访问私有非静态类变量 - C++
- 在子类中填充静态类成员
- 静态类变量的多重定义
- 作为成员的静态类模板实例会导致未解析的外部符号错误
- uninit_member:非静态类成员字段 m_cJobState.bstatus 未在此构造函数中初始化,也不在其调
- uninit_member:非静态类成员m_wszParams未在此构造函数中初始化,也不在它C++中调用的任何函数中初
- 说明通过指针访问非静态类成员函数
- 静态类数据成员的线程安全
- 静态类成员的使用
- 静态类成员不是与 this 指针没有关联吗?