如何详细解析实现C反射的技巧与步骤?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1224个文字,预计阅读时间需要5分钟。
一、注册辅助类 + ClassRegistry:模板函数,用于data、module、contextdata的注册,其中函数解析:+ create_object:从RegistryMap中找到对应name的RegistryNode(RegistryNode保存了名字和构造函数),调用构造函数。
一、注册辅助类
ClassRegistry:模板函数,用于data、module、contextdata的注册,其中的函数解析:
create_object:从RegistryMap里找到传入name对应的RegistryNode(RegistryNode保存了名字和构造函数),调用构造函数返回。
register_class:用传入的name和constructor注册RegistryMap,只在Register的构造函数里面调用,后面会在ClassRegister<IData> DataRegister、ClassRegister<IModule> ModuleRegister、ClassRegister<IContextData> ContextDataRegister用到。RegistryMap里面的数据是从register_class这个方法插入数据进去的,后面会在IMPLEMENT_XXX中调用到这个。
fill_name_array:找到RegistryMap里面注册的name,插入传入参数。
本文共计1224个文字,预计阅读时间需要5分钟。
一、注册辅助类 + ClassRegistry:模板函数,用于data、module、contextdata的注册,其中函数解析:+ create_object:从RegistryMap中找到对应name的RegistryNode(RegistryNode保存了名字和构造函数),调用构造函数。
一、注册辅助类
ClassRegistry:模板函数,用于data、module、contextdata的注册,其中的函数解析:
create_object:从RegistryMap里找到传入name对应的RegistryNode(RegistryNode保存了名字和构造函数),调用构造函数返回。
register_class:用传入的name和constructor注册RegistryMap,只在Register的构造函数里面调用,后面会在ClassRegister<IData> DataRegister、ClassRegister<IModule> ModuleRegister、ClassRegister<IContextData> ContextDataRegister用到。RegistryMap里面的数据是从register_class这个方法插入数据进去的,后面会在IMPLEMENT_XXX中调用到这个。
fill_name_array:找到RegistryMap里面注册的name,插入传入参数。

