添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

我们知道,c++中,类的静态成员是要在.cpp文件中定义的,如果在.h中定义,会出现重复定义。

但是在写类模板时,一般所有的代码都是放在.h文件中的,如果要做分离是一件很麻烦的事。那如果出现了静态成员怎么办?

// ==== ca.h =====

template<class T>

class ca

public:

static std::vector<T> m_vec;

对于这个m_vec怎么办呢?难道要我们在每个使用该类模板的.cpp中,都手动增加一个定义吗?

不用那么麻烦。就在ca.h中,加上一条

// ===== ca.h =====

template<class T>

std::vector<T> ca<T>::m_vec;

这样,就可以对所有的类型自动定义该静态变量啦