我想要存档的是一些简单的方法来使一些变量持久化.为此,我写了一个PeristenceProvider类,它包含boost属性树功能,用于在xml/ini文件中存储数据.
目前我需要做这样的事情:
ClassA::ClassA()
{
m_valueI = PersistenceProvider::getInstance.get<int>("valueI");
}
ClassA::~ClassA()
{
PeristenceProvider::getInstance.set<int>("valueI", m_valueI);
}
Run Code Online (Sandbox Code Playgroud)
但是有机会以这样的方式隐藏它:
class ClassA
{
Persist<int, "valueI"> m_ValueI;
}
Run Code Online (Sandbox Code Playgroud)
听起来您并没有保留大量信息 - 只是一些选择参数。如果是这样,那么只需将函数调用包装在您自己的函数中,该函数采用两个参数 - std::string 或 const char * 以及要保留的项目的类型。如果持久化的类型数量有限(例如 int、double、std::string),那么这将工作得很好。
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |