从xml QT 4.8 C++中获取类型
Get type from xml QT 4.8 C++
我制作了这个程序,其中有一些数据类型,由用户选择。用户保存他的工作,在xml保存文件中,我想写下他使用的变量类型,所以当我必须打开保存时,我的程序会分配正确的数据模板示例:
C++:
template <class T>
class Data{
private:
T variable;
...
};
XML:
<header>
<type>int</type>
</header>
所以在这里,当我加载保存文件时,我想分配一个Data<int>
。。。
您需要创建工厂,以及一个将值名称(以字符串形式("映射"到其中一个工厂的管理器。像这样:
class AbstractData {}
template <class T>
class Data : public AbstractData {
private:
T variable;
...
};
class FactoryManager
{
...
typedef std::function< AbstractData* () > Factory;
void registerFactory( const QString& name, const Factory& factory )
{
// Check to see one is not already registered before adding.
map_.insert( name, factory );
}
AbstractData* createData( const QString& name )
{
// Check factory exists first.
return map_[name]->createData();
}
private:
QHash< QString, Factory > map_;
}
...
FactoryManager manager;
manager.registerFactory( "int", [](){ return new Data< int >; } );
...
Data< int >* data = manager.createData( "int" );
相关文章:
- 获取 OID(类型::b_oid)作为 MongoDB C++驱动程序中的字符串
- 我可以使用 decltype() 或其他东西通过指针获取真实类型吗?
- 从两个 4x64 位整数数组中获取取模
- Qt/SQL - 从 QSqlQuery exec Stored Procedure 获取列类型和名称?
- 特征:从数组类型中获取标量类型是否记录?
- 在现代 c++ 中,有什么好方法可以获取 arg 类型列表表单函数指针吗?
- 从继承的C 类获取模板类型
- vulkan vulkan.hpp从对象实例中获取opbject类型
- 获取变量类型名称
- 从 csv 文件中获取不同类型的数据,并将其放入 C++ 中的 typedef 结构中
- 获取模板类型的类型
- 从 Mono Assembly.dll 中获取所有类型/类的列表C++
- 如何在折叠过程中获取成员类型的提升::mpl 占位符
- 如何在 c++ 中获取层类型咖啡
- 如何从 decltype a 引用中获取值类型
- 可以用于获取参数类型的 decltype
- 如何在 C++ 中获取映射类型指针,映射
- 从Hcursor获取光标类型
- 当可能的许多派生类型时,从基本类型的实例中获取派生类型
- 如何在C++中获取动态类型名称