# ClassReflect **Repository Path**: zheng_shuobin/class-reflect ## Basic Information - **Project Name**: ClassReflect - **Description**: C++ 类反射调用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-03-11 - **Last Updated**: 2023-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C++ 反射 ## 类 > ClassMap 1. 类工厂继承,确保类属于同一基类; 2. map<"classname", classname>; 3. 包含类、类域成员变量、类域成员函数的处理; ## 类域成员变量 > ClassFieldMap 1. 成员变量:引用地址偏移量确定类的成员变量,由此处理赋值与返回; 2. map<"classname", vector>; 3. 模板引用:分离编译,模板函数的编译需要先确定类型才可分配空间,从而生成具体的代码来完成链接; ## 类域成员函数 > ClassMethodField 1. 成员函数:引用函数指针确定函数的指针地址(未实现动态类型返回和类型参数传递); 2. map<"classname", vector>; 3. 从注册到实现函数调用,存在两个步骤: 1. 注册:传递函数指针; 2. 调用:functional,函数指针转换:由 函数指针 到 unitptr_t 再到 函数指针。 ## 宏定义 1. \# : 连接符,形成字符串,#a = "a"; 2. \## : 连接符,连接字符,a##a = aa;