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

品网站建设公司排名做推广便宜的网站

品网站建设公司排名,做推广便宜的网站,经典网站欣赏、,wordpress国外付费主题下载文章目录 功能说明实现示例解析扩展 功能说明 宏检验条件是否成立#xff0c;并返回指定的值 #define TU_VERIFY(...) _GET_3RD_ARG(__VA_ARGS__, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED)(__VA_ARGS__)TU_VERIFY(1) 检验为真#xff0c;啥也不干TU_VERIFY(0) 校验为假并返回指定的值 #define TU_VERIFY(...) _GET_3RD_ARG(__VA_ARGS__, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED)(__VA_ARGS__)TU_VERIFY(1) 检验为真啥也不干TU_VERIFY(0) 校验为假函数返回返回值为 falseTU_VERIFY(87, 1) 检验为真啥也不干TU_VERIFY(0, 100) 检验为假函数返回返回值为 100 实现 // Helper to implement optional parameter for TU_VERIFY Macro family #define _GET_3RD_ARG(arg1, arg2, arg3, ...) arg3 #define _GET_4TH_ARG(arg1, arg2, arg3, arg4, ...) arg4/*------------- Generator for TU_VERIFY and TU_VERIFY_HDLR -------------*/ #define TU_VERIFY_DEFINE(_cond, _handler, _ret) do \ { \if ( !(_cond) ) { _handler; return _ret; } \ } while(0)/*------------------------------------------------------------------*/ /* TU_VERIFY* - TU_VERIFY_1ARGS : return false if failed* - TU_VERIFY_2ARGS : return provided value if failed*------------------------------------------------------------------*/ #define TU_VERIFY_1ARGS(_cond) TU_VERIFY_DEFINE(_cond, , false) #define TU_VERIFY_2ARGS(_cond, _ret) TU_VERIFY_DEFINE(_cond, , _ret)#define TU_VERIFY(...) _GET_3RD_ARG(__VA_ARGS__, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED)(__VA_ARGS__)示例 #include stdio.h #include stdbool.h// Helper to implement optional parameter for TU_VERIFY Macro family #define _GET_3RD_ARG(arg1, arg2, arg3, ...) arg3 #define _GET_4TH_ARG(arg1, arg2, arg3, arg4, ...) arg4/*------------- Generator for TU_VERIFY and TU_VERIFY_HDLR -------------*/ #define TU_VERIFY_DEFINE(_cond, _handler, _ret) \do \{ \if (!(_cond)) \{ \_handler; \return _ret; \} \} while (0)/*------------------------------------------------------------------*/ /* TU_VERIFY* - TU_VERIFY_1ARGS : return false if failed* - TU_VERIFY_2ARGS : return provided value if failed*------------------------------------------------------------------*/ #define TU_VERIFY_1ARGS(_cond) TU_VERIFY_DEFINE(_cond, , false) #define TU_VERIFY_2ARGS(_cond, _ret) TU_VERIFY_DEFINE(_cond, , _ret)#define TU_VERIFY(...) _GET_3RD_ARG(__VA_ARGS__, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED)(__VA_ARGS__)static int verify_func(int cond, int value) {TU_VERIFY(cond, value);return 0xa5; }int main(int argc, char *argv[]) {printf(%x \r\n, verify_func(87, 1));printf(%x \r\n, verify_func(0, 100));return 0; }结果打印 a5 64解析 该宏最少传入一个参数最多传入两个参数__VA_ARGS__ 可以理解为占位符当只有一个参数时该宏展开为 _GET_3RD_ARG(xxx, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED) 得到的就是 TU_VERIFY_1ARGS所以执行的就是 TU_VERIFY_1ARGS(xxx)当有两个参数时该宏展开为 _GET_3RD_ARG(xxx, yyy, TU_VERIFY_2ARGS, TU_VERIFY_1ARGS, UNUSED) 得到的就是 TU_VERIFY_2ARGS所以执行的就是 TU_VERIFY_2ARGS(xxx, yyy) 扩展 带 handler 处理的功能 /*------------------------------------------------------------------*/ /* TU_VERIFY WITH HANDLER* - TU_VERIFY_HDLR_2ARGS : execute handler, return false if failed* - TU_VERIFY_HDLR_3ARGS : execute handler, return provided error if failed*------------------------------------------------------------------*/ #define TU_VERIFY_HDLR_2ARGS(_cond, _handler) TU_VERIFY_DEFINE(_cond, _handler, false) #define TU_VERIFY_HDLR_3ARGS(_cond, _handler, _ret) TU_VERIFY_DEFINE(_cond, _handler, _ret)#define TU_VERIFY_HDLR(...) _GET_4TH_ARG(__VA_ARGS__, TU_VERIFY_HDLR_3ARGS, TU_VERIFY_HDLR_2ARGS,UNUSED)(__VA_ARGS__)该宏最少传入两个参数最多传入三个参数__VA_ARGS__ 可以理解为占位符当只有一个参数时该宏展开为 _GET_4TH_ARG(xxx, yyy, TU_VERIFY_HDLR_3ARGS, TU_VERIFY_HDLR_2ARGS, UNUSED) 得到的就是 TU_VERIFY_HDLR_2ARGS所以执行的就是 TU_VERIFY_HDLR_2ARGS(xxx, yyy)当有三个参数时该宏展开为 _GET_4TH_ARG(xxx, yyy, zzz, TU_VERIFY_HDLR_3ARGS, TU_VERIFY_HDLR_2ARGS, UNUSED) 得到的就是 TU_VERIFY_HDLR_3ARGS所以执行的就是 TU_VERIFY_HDLR_3ARGS(xxx, yyy, zzz)
http://www.hkea.cn/news/14593192/

相关文章:

  • 深圳的网站建设公司价格李笑来做的一个网站
  • 校体育网站建设的好处品牌网站策划书
  • 关于国际贸易的网站ps网页设计视频教程
  • 公司网站开发部署网站收录很高
  • 哪些网站织梦cmswordpress 文章去重
  • wordpress admin ajax最新黑帽seo教程
  • wap网站排名郴州新网0735
  • 紫金网站制作策划响应式网站企业
  • 网站建设维护概括总结wordpress 演示数据 导入
  • p2p网站建设资质产品开发流程梳理
  • 服装网站怎么做的wordpress访问后台
  • 知名企业网站搭建品牌wordpress 文章的php
  • 学校网站建设设计方案什么类型的产品可以做网站出口
  • 小视频网站建设网页设计与制作知识点
  • 西安网站建设推荐q479185700上墙wordpress 多媒体显示
  • 成都环境建设网站php源码怎么建设网站
  • 网站建设服务公司WORDPRESS免费中国主题
  • 全球最大的设计网站磁力宝最佳搜索引擎入口
  • 阿里云二级域名网站怎么建设合肥有哪些seo网络公司
  • 太仓网站建设网站推广西安到北京飞机几个小时
  • 网站服务费wordpress 多久
  • 找网站公司企业备案做vi网站
  • 有哪些网站建设工作做网站推广的工作好吗
  • 建设网站费用分析寻乌网站建设
  • 做海外网站 服务器放哪网站的规划与建设_按时间顺序可以分为哪等五个阶段
  • 企业网站建设 会计分录照着别人网站做
  • 做网站费用多少随州有哪些网站建设的公司
  • 重庆做网站推广公司专业做ea的网站
  • 做面包有关电影网站室内设计师多少钱一个月
  • 郑州企业网站建设公司中国建设银行行号查询