/**********************************************************************************************************************************************\
* [说明]
* 通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,
* 这些内存配置信息应该有且仅有一份。
* 下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,
* 否则会产生编译错误。
\**********************************************************************************************************************************************/
#include "stdio.h"
#include <assert.h>
class CConfigFile
{
private:
CConfigFile(){}
public:
static CConfigFile* Instance();
void GetConfigData(int &data);
void SetConfigData(int data);
private:
static CConfigFile* _instance;
int _data;
};
// 注意:静态变量的初始化格式
CConfigFile* CConfigFile::_instance = NULL;
void CConfigFile::SetConfigData(int data)
{
_data = data;
}
void CConfigFile::GetConfigData(int &data)
{
data = _data;
}
CConfigFile* CConfigFile::Instance()
{
if(_instance == NULL)
{
_instance = new CConfigFile();
// 加载配置文件并设置内存配置信息,此处省略
}
return _instance;
}
int main(int argc, char* argv[])
{
CConfigFile *configFile = NULL;
configFile = CConfigFile::Instance();
configFile->SetConfigData(3);
int tmp = 0;
configFile->GetConfigData(tmp);
// 获取配置信息后进行其它工作,此处省略
assert(tmp == 3);
return 0;
}