用统一的一个结构管理动态创建

Posted _xiaohaige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用统一的一个结构管理动态创建相关的知识,希望对你有一定的参考价值。

#define RUN_TIME(classname) (&classname::runtime)
#define DECLARE_DYNAMIC() public: static RUNTIME runtime; virtual char *GetClassName(); virtual char *GetBaseClassName(); static CObject *MyCreate();
#define IMPLEMENT_DYNAMIC(theclass, baseclass)\ RUNTIME theclass::runtime = {#theclass, &baseclass::runtime, theclass::MyCreate}; char *theclass::GetClassName() {   return theclass::runtime.classname; } char *theclass::GetBaseClassName() {   return theclass::runtime.Baseruntime->classname; } CObject * theclass::MyCreate() {   return new theclass; }
typedef
struct _RUNTIME {   char *classname;   struct _RUNTIME *Baseruntime;   CObject *(*pfnCreate)();   CObject *Create(); }RUNTIME; CObject * _RUNTIME::Create() {   return new CObject; }

宏替换:在预编译阶段,对我们源程序文本进行处理。动态创建机制,实际是一种预编译替换机制

编译阶段:我们的源程序将不再发生任何改变。

以上是关于用统一的一个结构管理动态创建的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用相同的布局动态创建片段并向它们显示数据?

在android中动态创建选项卡并使用传入的参数加载片段

从ViewPager android替换片段

调用 onCreateView() 之前出现“找不到片段 id 的视图”错误

链表+文件 一个初学者实现学生管理系统的心得

aop 日志统一处理