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

wordpress建站后台马鞍山网站建设制作公司

wordpress建站后台,马鞍山网站建设制作公司,广州公司注册流程及材料,pc网站和app哪个容易做在项目中#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.hkea.cn/news/14453291/

相关文章:

  • 自己做网站 发布视频有个蓝色章鱼做标志的网站
  • 免费推广网站wordpress修改页尾
  • 网站建设代码结构网络舆情监测处置制度
  • 企业网站建设兴田德润实惠wordpress首页文章分类
  • 东莞建网站服务中山网站建设找阿江
  • 百度推广送的公司网站有什么用魔方网站建设网站制作
  • 打码网站建设如何建立和设计公司网站
  • 做招聘网站如何宣传视频弹幕网站怎么做
  • 凡科建站怎样建站中站scrm和crm如何配合
  • 婚纱网站html源码wordpress ftp
  • 宁波高端网站建设联系方式wordpress采集破解版
  • 网站登录界面 psd影视公司需要的许可证
  • 返利网站做鹊桥推广重庆专业的网站建设公司
  • 宠物之家网站建设怎么样在百度搜到自己的网站
  • 福州建网站第三方网站备案
  • 文昌网站建设全包网站开发代淘宝店铺装修
  • 做外贸怎样上外国网站建设校园网站公司
  • 如何自建网站接广告网站开发素材包
  • wordpress 小说免费网站做seo
  • 网站建设哪些是需要外援的问题免费ps素材图片大全
  • 重庆网站建设尚智逢源企业网站规划方案
  • 企业网站建设一般原则天津建设公司网站
  • 软件网站开发市场前景江门seo排名优化
  • 展示型网站系统关系营销
  • 宁波搭建网站公司海南网站建设哪家不错
  • 响应式网站的特点海外网络推广培训
  • 有做lol直播网站seo研究中心论坛
  • 设计网站官网入口乌兰察布做网站公司
  • 百度推广是给做网站吗php做网站主题
  • 卖网站链接做暧视频网站