c++实现打印结构体所有变量

技术c++实现打印结构体所有变量 c++实现打印结构体所有变量说明
c++没有静态反射机制,这里采用暴力解析头文件,并生成代码的形式
有struct定义解析结构体
/*
---- From XDU's

c实现打印结构体所有变量

说明

c没有静态反射机制,这里采用暴力解析头文件,并生成代码的形式

有struct定义解析结构体

/*

-来自喜电优的咪唑立宾

*/

#包含位/stdc .h

使用命名空间标准;

使用ll=long long int

命名空间自动化

{

使用func_type=functionll(字符串);

映射,func_type恍惚;

void init()

{

恍惚的。

}

void add(现在ll,func_type func)

{

恍惚[现在]=功能;

}

陆线(landlines的缩写)运行(现在ll,字符串ch)

{

回归恍惚[现在](ch);

}

}

命名空间状态

{

结构s1

{

陆线(landlines的缩写)运算符()(字符串ch)

{

if (ch=='struct ')

返回2;

其他

返回0;

}

};

静态字符串类名;

结构s2

{

陆线(landlines的缩写)运算符()(字符串ch)

{

if (ch=='{ ')

{

class _ name。clear();

返回3;

}

其他

{

class _ name=ch

返回2;

}

}

};

静态字符串类型,值_名称

结构s3

{

陆线(landlines的缩写)运算符()(字符串ch)

{

if (ch==',')

{

值_名称。clear();

返回3;

}

else if(ch==';')

{

打字。clear();

值_名称。clear();

返回3;

}

else if (ch=='} ')

{

打字。clear();

值_名称。clear();

返回4;

}

其他

{

if (type.size()==0)

{

type=ch

}

其他

{

value _ name=ch

}

返回3;

}

}

};

结构第四心音

{

陆线(landlines的缩写)运算符()(字符串ch)

{

if(ch==';')

返回5;

其他

返回0;

}

};

结构表面抗原-5

{

陆线(landlines的缩写)运算符()(字符串ch)

{

返回0;

}

};

}

结构类信息

{

字符串类名;

vectorpairstring,字符串成员;//(类型,成员名)

vectorstring get_token(字符串文本)

{

vectorstring ret

现在字符串;

文本=

用于(自动it :文本)

{

if (isalpha(it)或isdigit(it))

{

now.push_back(它);

}

其他

{

if (now.size())

{

ret。炮位_back(现在);

现在。clear();

}

如果(它!=' ')

ret。炮位_back(string(1,it));

}

}

返回浸水使柔软

}

向量字符串,字符串集(向量字符串标记)

{

cout‘‘‘\ n’;

向量配对字符串,字符串ret

自动: add(1,状态:1());

自动: add(2,状态:2());

自动: add(3,状态:3());

自动: add(4,状态:4());

自动: add(5,状态:5());

陆线(landlines的缩写)现在=1;

(汽车it :令牌)

{

//现在cout调试

now=自动:运行(现在,它);

//cout '-' it '-' now ' \ n;

如果(现在==2)

{

if(状态: class _ name。大小())

class _ name=state : class _ name。size();

}

否则如果(现在==3)

{

if (state:type.size()和

state:value_name.size())

{

ret。炮位_back(state:type,

状态: value _ name);

}

}

}

返回浸水使柔软

}

}信息;

int main()

{

字符串文本;

对于字符串;getline(cin,南);text=s ' ');

auto token=info.get_token(文本);

auto ret=info.set(令牌);

适用于(auto it : ret)

标准输出左设置它。首先设置它。第二个' \ n ';

返回0;

}

作者: XDU18清欢https://www.cnblogs.com/XDU-mzb/

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/36340.html

(0)

相关推荐

  • 淘宝盖楼活动怎么做,手机淘宝店铺怎么创建活动页面

    技术淘宝盖楼活动怎么做,手机淘宝店铺怎么创建活动页面手机淘宝店铺创建活动页面步骤如下:在手机登陆到淘宝然后依次点击“卖家中心”-“店铺管理”-“手机淘宝店铺”然后在店铺设置下面点面点击“无线活动管理”;在进入的页面下点击

    生活 2021年10月25日
  • View如何实现非中心点旋转

    技术View如何实现非中心点旋转这篇文章主要为大家展示了“View如何实现非中心点旋转”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“View如何实现非中心点旋转”这篇文章吧。

    攻略 2021年12月3日
  • 早餐有哪些,你们那的早餐什么最好吃

    技术早餐有哪些,你们那的早餐什么最好吃我在内蒙古呼和浩特呆了12年,已经习惯内蒙的早点,内蒙的早点相对于我老家江苏来说比较粗狂,拿东北人的话来说就是基本是硬早点,如果说内蒙的早点最有特色的我给大家推荐三种我个人认为最能代

    生活 2021年10月27日
  • 怎么用ps换背景颜色,PS如何抠图替换背景色

    技术怎么用ps换背景颜色,PS如何抠图替换背景色1怎么用ps换背景颜色、打开要用ps进行抠图和换背景的图片,直接使用快捷键Ctrl+O打开,或在【文件】中选择【打开】,找到相应的素材点击即可,如下图所示:2、图片打开后,

    生活 2021年10月19日
  • 如何将MP3格式的音乐转换成WAV格式

    技术如何将MP3格式的音乐转换成WAV格式这篇文章主要为大家展示了“如何将MP3格式的音乐转换成WAV格式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何将MP3格式的音乐

    攻略 2021年10月30日
  • 如何介绍自己,他人介绍的介绍者有哪些

    技术如何介绍自己,他人介绍的介绍者有哪些在他人介绍中,介绍者的确定是有一定之规的。通常,具有 下列身份者,理应在他人介绍中充当介绍者。(1) 社交活动中的东道主。(2) 社交场合的长者。(3) 家庭性聚会中的女主人。(4

    生活 2021年10月20日