stl的type_traits,可以判断类型是否相同
对象到各个成员的字符串,反射的好处是类似dllimport的时候实现自动化处理,而不是像dllimport和dllexport一样需要写死接口名称
#define REGISTERCLASS(className)
class className##Helper {
public:
className##Helper()
{
ClassFactory::instance()->RegisterItem(#className, className##Helper::CreatObjFunc);
}
static void* CreatObjFunc()
{
return new className;
}
};
className##Helper className##helper;
//定义了一个成员变量,如FileItemHelper类的成员变量 FileItemhelper
//类型注册,必须注册才能使用,不注册降不会动态生成需要的类的实例
REGISTERCLASS(FileItem)
REGISTERCLASS(ConsoleItem)
ileItem* fileItem = static_cast<FileItem *>(ClassFactory::instance()->CreateItem("FileItem"));
fileItem->Print();
参考:https://www.cnblogs.com/qiuhongli/p/9019062.html
eval代码到字符串的相互转换
https://cloud.tencent.com/developer/article/1585784
https://blog.csdn.net/weixin_37817633/article/details/94597815(宏定义参考)