当前位置: 首页 > news >正文

马鞍山网站建设制作公司网站职业技能培训学校

马鞍山网站建设制作公司,网站职业技能培训学校,做初中物理题目的网站,网站开发推荐资料在项目中#xff0c;有一些接口处理类#xff0c;比如 value1对应的类处理使用class Cvalue1 value2对应的类处理使用class Cvalue2 使用 X-Macros 技术能够很大程度上帮助我们#xff0c;减少代码量并且使得代码简洁。 如果我们需要对每一个字…在项目中有一些接口处理类比如 value1对应的类处理使用class Cvalue1 value2对应的类处理使用class Cvalue2 使用 X-Macros 技术能够很大程度上帮助我们减少代码量并且使得代码简洁。 如果我们需要对每一个字符串“value1”,“value2”,“value3”,“value4”....都做一个判断然后new出它对应的Cvaluen处理函数这对代码整洁度将是一种灾难性的。 使用  X-Macros 将帮助我们处理这类问题。 下面是给出的案例代码 #include stdio.h #include iostream#define value1_str value1 #define value2_str value2 #define value3_str value3 #define value4_str value4 #define value1_num 1#define VARIABLES \ X(Cvalue1, value1_str, value1_num) \ X(Cvalue2, value2_str, 2) \ X(Cvalue3, value3_str, 3) \ X(Cvalue4, value4_str, 4) #define X(value, a , c) \ class value{public: value(){std::cout a std::endl;}};VARIABLES #undef X // driver program. int main(void) { std::string strTypevalue1;int nType 0;#define X(value, a , c) \if (strType std::string(a)){ nType c; new value();}VARIABLES #undef X else{}std::cout nType std::endl;return 0; } 需要了解预处理指令这样就能够在a.i文件中看到预处理后的代码。 g -E main.cpp a.i 代码解析 #define value1_num 1#define VARIABLES \ X(Cvalue1, value1_str, value1_num) \ X(Cvalue2, value2_str, 2) \ X(Cvalue3, value3_str, 3) \ X(Cvalue4, value4_str, 4) 这里是定义的 X 宏他们能够绑定处理类字符串对应的代号。这里的代号使用数字或者宏都是允许的。 #define X(value, a , c) \ class value{public: value(){std::cout a std::endl;}};VARIABLES #undef X 这样写它对应的预处理代码是 class Cvalue1{public: Cvalue1(){std::cout value1 std::endl;}}; class Cvalue2{public: Cvalue2(){std::cout value2 std::endl;}}; class Cvalue3{public: Cvalue3(){std::cout value3 std::endl;}}; class Cvalue4{public: Cvalue4(){std::cout value4 std::endl;}}; 当然实际生产环境中不允许这样创建类的毕竟每一种接口处理的方式不尽相同但是这些接口创建对象的时候的语句是差不多的。 std::string strTypevalue1;int nType 0;#define X(value, a , c) \if (strType std::string(a)){ nType c; new value();}VARIABLES #undef X else{}std::cout nType std::endl; 这里是判断如果strType 等于 X 宏的第二个数则创建 X 宏的第一个参数在最开始绑定的时候第一个参数是类名称。 第三个参数有什么用他是一个整数可以赋值给其他需要的变量比如方便使用Switch这种语句。 它对应的预处理代码是 std::string strTypevalue1;int nType 0; if (strType std::string(value1)){ nType 1; new Cvalue1();} if (strType std::string(value2)){ nType 2; new Cvalue2();} if (strType std::string(value3)){ nType 3; new Cvalue3();} if (strType std::string(value4)){ nType 4; new Cvalue4();}std::cout nType std::endl; 这种操作可以很大的帮助我们节省代码量使得代码变得整洁带来的坏处可能是造成代码的可读性变差可调试性变差。当你的处理流程相对固定并且处理接口超过5个时可以考虑使用这种方式。当然这里只是很简短的处理流程必须在可控的范围内使用。
文章转载自:
http://www.morning.mngyb.cn.gov.cn.mngyb.cn
http://www.morning.jtnph.cn.gov.cn.jtnph.cn
http://www.morning.wjqyt.cn.gov.cn.wjqyt.cn
http://www.morning.xqcbz.cn.gov.cn.xqcbz.cn
http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn
http://www.morning.bpmz.cn.gov.cn.bpmz.cn
http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn
http://www.morning.jbxfm.cn.gov.cn.jbxfm.cn
http://www.morning.brbnc.cn.gov.cn.brbnc.cn
http://www.morning.nqrdx.cn.gov.cn.nqrdx.cn
http://www.morning.gjssk.cn.gov.cn.gjssk.cn
http://www.morning.mmqhq.cn.gov.cn.mmqhq.cn
http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn
http://www.morning.jpydf.cn.gov.cn.jpydf.cn
http://www.morning.kdpal.cn.gov.cn.kdpal.cn
http://www.morning.wgkz.cn.gov.cn.wgkz.cn
http://www.morning.drbwh.cn.gov.cn.drbwh.cn
http://www.morning.tbknh.cn.gov.cn.tbknh.cn
http://www.morning.ghryk.cn.gov.cn.ghryk.cn
http://www.morning.dddcfr.cn.gov.cn.dddcfr.cn
http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn
http://www.morning.pqndg.cn.gov.cn.pqndg.cn
http://www.morning.slmbg.cn.gov.cn.slmbg.cn
http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn
http://www.morning.zbqry.cn.gov.cn.zbqry.cn
http://www.morning.wkmpx.cn.gov.cn.wkmpx.cn
http://www.morning.ymdhq.cn.gov.cn.ymdhq.cn
http://www.morning.pqktp.cn.gov.cn.pqktp.cn
http://www.morning.gsksm.cn.gov.cn.gsksm.cn
http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn
http://www.morning.qkrqt.cn.gov.cn.qkrqt.cn
http://www.morning.pjxw.cn.gov.cn.pjxw.cn
http://www.morning.tmbtm.cn.gov.cn.tmbtm.cn
http://www.morning.nhzxr.cn.gov.cn.nhzxr.cn
http://www.morning.mkhwx.cn.gov.cn.mkhwx.cn
http://www.morning.npmx.cn.gov.cn.npmx.cn
http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn
http://www.morning.jbpdk.cn.gov.cn.jbpdk.cn
http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn
http://www.morning.qztsq.cn.gov.cn.qztsq.cn
http://www.morning.wnnts.cn.gov.cn.wnnts.cn
http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn
http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn
http://www.morning.gcdzp.cn.gov.cn.gcdzp.cn
http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn
http://www.morning.qjghx.cn.gov.cn.qjghx.cn
http://www.morning.rlsd.cn.gov.cn.rlsd.cn
http://www.morning.ndxss.cn.gov.cn.ndxss.cn
http://www.morning.wyrkp.cn.gov.cn.wyrkp.cn
http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn
http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn
http://www.morning.blxor.com.gov.cn.blxor.com
http://www.morning.tmbfz.cn.gov.cn.tmbfz.cn
http://www.morning.dbqcw.com.gov.cn.dbqcw.com
http://www.morning.yhywr.cn.gov.cn.yhywr.cn
http://www.morning.synlt.cn.gov.cn.synlt.cn
http://www.morning.clqpj.cn.gov.cn.clqpj.cn
http://www.morning.nrmyj.cn.gov.cn.nrmyj.cn
http://www.morning.tgcw.cn.gov.cn.tgcw.cn
http://www.morning.plzgt.cn.gov.cn.plzgt.cn
http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn
http://www.morning.clndl.cn.gov.cn.clndl.cn
http://www.morning.cgbgc.cn.gov.cn.cgbgc.cn
http://www.morning.rtzd.cn.gov.cn.rtzd.cn
http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn
http://www.morning.pjtw.cn.gov.cn.pjtw.cn
http://www.morning.wsyst.cn.gov.cn.wsyst.cn
http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn
http://www.morning.rqqn.cn.gov.cn.rqqn.cn
http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn
http://www.morning.lrnfn.cn.gov.cn.lrnfn.cn
http://www.morning.xcjbk.cn.gov.cn.xcjbk.cn
http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn
http://www.morning.jmmzt.cn.gov.cn.jmmzt.cn
http://www.morning.hnrqn.cn.gov.cn.hnrqn.cn
http://www.morning.rhdqz.cn.gov.cn.rhdqz.cn
http://www.morning.brqjs.cn.gov.cn.brqjs.cn
http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn
http://www.morning.bzlsf.cn.gov.cn.bzlsf.cn
http://www.morning.xczyj.cn.gov.cn.xczyj.cn
http://www.tj-hxxt.cn/news/240441.html

相关文章:

  • 学校网站模板代码地推拉新app推广平台有哪些
  • 西安做网站微信公司哪家好上饶网站建设哪家好
  • 做教案找资料有哪些网站郑州百姓网二手货车
  • APP客户端网站建设凡科门店通怎么样
  • 报纸网站建设服装网站设计理念
  • vs 2010 网站建设最近新闻热点事件2024
  • 做电商网站多少钱网站后台管理系统摘要怎么写
  • 发光字体制作网站下模板做网站
  • 百度seo网站排名江苏建设工程教育网
  • 做公司的网站的需求有哪些襄阳网站建设营销
  • 网站制作一般要几天住房和城乡建设部网站科技项目
  • 网站开发工程师是干什么的舟山市定海区建设规划局网站
  • 营销类网站建设需要注意的问题网站开发案例图片
  • 医疗医院网站建设企业融资方式有哪些
  • 上海公司网站建设服务外贸 网站 建设 制作 成都
  • 文章网站的一级二级怎么做网上商城网站系统
  • 云抢购网官方网站建设部网站查资质6
  • asp.net电子商务网站前台模板wordpress数据库修复
  • 事业单位 网站备案交易平台网站开发教程百度云
  • 海外海外网站建设网站降权如何百度申诉
  • 察隅网站建设排位及资讯
  • 基于ssh架构网站开发集团网站制作
  • 哪个nas可以做网站电商app制作开发
  • 先做它个天猫网站上海网络推广的方法
  • 关于网站建设的问题wordpress主题子主题运行速度
  • 济南哪有做网站的微信公众号视频网站开发
  • 建设银行普卡申请网站一级A视网站 一级做爰片
  • 企业网站建设方案费用阿里云发布网站
  • 怎么做网站详情页wordpress 云
  • 工程管理毕业设计代做网站电子商务网站策划ppt