静态数据成员(map容器)一定要记得初始化,否则出现链接错误
来源:互联网 发布:淘宝美工全攻略pdf 编辑:程序博客网 时间:2024/06/10 18:25
会的人都知道,不会的人,都会很郁闷。
// at testStatic.h
class testStatic{
private:
static map<Type1,Type2> m_staticMap; // 声明
}
//at testStatci.cpp
map<Type1,Type2> testStatic::m_staticMap; // 初始化
很多人应该都会用到这种情况,比如:你需要在你的工程中动态的通过读取配置文件,在内存中记录某些数据。这时候你就需要一个类:
template<type T>
class DataMgr{
public:
BOOL Load(CString filePath);
static BOOL GetData(const T &dataID,T &dataVal);
private:
static map<T,T> m_dataMgr;
}
用该类便可以解决您的问题了,首先在系统启动时,调用一次Load函数,导入您的配置文件,由于类中提供的获取数据接口为静态方式,所以在后面的程序中,您不需要创建类对象便可以对类成员函数进行操作(DataMgr::GetData(...))
重点在这里,在使用静态类成员变量时,一定要初始化。在这里对map对象的初始化工作:
// DataMgr.cpp
map<T,T> DataMgr::m_dataMgr; // 初始化
DataMgr::DataMgr();
DataMgr::~DataMgr();
好了!这个问题解决了,大家都可以不再困惑了。
- 静态数据成员(map容器)一定要记得初始化,否则出现链接错误
- 定义的指针一定要记得初始化,否则后果不堪设想。。。
- C++类中静态数据成员MAP如何初始化
- 关于c++ 的静态成员变量为什么一定要初始化
- C++类的静态成员变量为什么一定要初始化
- 静态成员数据 静态对象初始化
- 静态成员数据 静态对象初始化 .
- 静态成员数据 静态对象初始化 .
- 项目中的错误:类静态成员初始化
- 为什么static数据成员一定要在类外初始化?
- 为什么static数据成员一定要在类外初始化?
- 为什么static数据成员一定要在类外初始化?
- 第七周 静态数据成员的初始化
- C++静态成员数据—定义、初始化
- VC C++中定义静态成员变量后需要在外部初始化,否则出错
- 关于C++类的静态数据为什么一定要初始化
- 关于C++类的静态数据为什么一定要初始化
- 静态vector容器成员变量的定义和初始化
- 将十六进制转换成二进制或十进制
- mysql双机互备
- 循环
- break和continue
- php注入详解
- 静态数据成员(map容器)一定要记得初始化,否则出现链接错误
- 周末总结_排序_DLL的写法_函数传参传引用
- 清理内存
- PHP之FAQ
- IE6的双倍边距bug
- 从2开始的256个素数
- VC变量与matlab变量之间的转换,和互相调用
- GetSystemInfo系统信息
- ios 模拟器和真机 使用同一静态库