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

罗湖高端网站建设费用外贸响应式网站建设

罗湖高端网站建设费用,外贸响应式网站建设,富阳科技网站有哪些,如何开网店无货源不需要投资可变参数列表 可变参数宏--__VA_ARGS__C风格不定参使用补充知识#xff1a;函数调用时参数的压栈顺序及内存使用使用不定参模拟实现printf C风格不定参数的使用 可变参数宏–VA_ARGS #include stdio.h//...表示不定参#xff0c;__VA_ARGS__使用不定参 // __FILE__ … 可变参数列表 可变参数宏--__VA_ARGS__C风格不定参使用补充知识函数调用时参数的压栈顺序及内存使用使用不定参模拟实现printf C风格不定参数的使用 可变参数宏–VA_ARGS #include stdio.h//...表示不定参__VA_ARGS__使用不定参 // __FILE__ 文件名 //__LINE__ 行号 //__VA_ARGS__ 用于在宏替换部分中表示可变参数列表 //当可变参数的个数为0时##起到把前面多余的,去掉的作用,否则会编译出错 #define LOG(fmt,...) printf([%s:%d] fmt,__FILE__,__LINE__,##__VA_ARGS__);int main() {LOG(可变参数列表);//最终展开的代码相当于printf([%s:%d] 可变参数列表,__FILE__,__LINE__)//如果不加##会报错//printf(%dnihao,6);可以编译通过return 0; }在这里我之前一直有一个误区 1.我认为printf(%dnihao,6);是不合法的因为格式化参数后面没有加,,直到今天认识了可变参数宏才认识到 2.%dnihao会自动连接 C风格不定参使用 使用之前需要自己定义一个va_list 变量 va_start()函数 语法 void va_start(va_list ap,param); 参数ap为参数自身 参数param为第一个参数。va_arg()函数用于调用可变参数列表 type va_arg(va_list ap,type); 参数ap为可变参数自身参数type为要获取的参数的指定类型返回这个指定类型的值并把ap的位置指向变参表的下一个变量位置va_end()函数用于停止使用可变参数。 void va_end(va_list ap); 参数ap为参数自身。简单使用 void print(int cnt,...) {va_list ap;va_start(ap,cnt);//获取cnt参数之后的第一个参数的地址即第一个不定参地址for(int i0;icnt;i){int numva_arg(ap,int);//获取不定参printf(param[%d]:%d\n,i,num);}va_end(ap);//使用完将ap指针置空}补充知识函数调用时参数的压栈顺序及内存使用 以printfconst char* format,…为例 printf函数是一个不定参函数。编译器通过format的%占位符的个数来获取参数的个数。假设函数压栈顺序是从左至右format先入栈各个参数再入栈最后pc入栈入栈完之后想知道参数的个数就要读取format但要读取format就得知道参数的个数陷入了一个死循环。如果函数压栈顺序是从右至左未知个数的参数先入栈format再入栈最后压pc入栈。这时候要想知道参数的个数只需要将栈顶指针加2即可读取到format。函数调用栈从高往低使用 使用不定参模拟实现printf int vasprintf(char **strp, const char *fmt, va_list ap);vasprintf 是一个 C 库函数它可以通过可变参数创建一个格式化的字符串并将其存储在动态分配的内存中。它的使用方法与 printf 类似但它不会将结果打印到标准输出流中而是将其存储在一个指向字符数组的指针中 void MyPrint(const char *fmt, ...) {va_list ap;va_start(ap,fmt);char* res;int retvasprintf(res,fmt,ap);if(ret !-1){printf(res);free(res);}va_end(ap);}C风格不定参数的使用 需要借助C11内的万能引用与完美转发及可变参数模版包 #include iostream #include cstdarg #include memory #include functional//特化 void CgagaPrint() {std::coutstd::endl; }templateclass T,class ...Args void CgagaPrint(const T v,Args ...args) {std::coutv;if((sizeof ...(args))0){//完美转发CgagaPrint(std::forwardArgs(args)...);}else{CgagaPrint();} }int main() {CgagaPrint(nihao,6,5,4); }
http://www.hkea.cn/news/14364680/

相关文章:

  • 深圳团购网站设计价格顺德网站建设7starry
  • angular2做的网站有网站建设起到计划和指导作用
  • 织梦网站安装基于js原生的新闻类静态网站建设
  • 中国室内设计任务网seo编辑招聘
  • 游戏推广是做什么的重庆的网络优化公司
  • 电子商务网站网络拓扑西安建设科技专修学院网站
  • 高负载php网站开发如何修改网站抓取内容
  • 创造与魔法官方网站做自己网站建设的可行性报告
  • 做购物网站多少钱 知乎游戏开发入门
  • 招商网站有哪些网站馆店精准引流怎么推广
  • 公网主机上做的网站如果访问wordpress数据库中文
  • 微网站建设86215公司宣传片ppt模板
  • 阳城做网站企业信用信息公示系统(全国)官网
  • 做网站什么码网络营销常用的方法
  • 网站信息维护方案免费网站怎么做排名
  • 泉港做网站公司怎么创建微信小程序店铺
  • 做网站的p什么2003个人怎么做网站排名优化
  • 大学生网站开发53货源网下载app
  • 宠物网站 html模板九天利建公司简介
  • 闸北区网站建设网页永久云服务器购买
  • 计算机网站建设与管理是什么兼职网站开发一个月
  • 网站成立时间电影网页设计教程
  • 企业微网站怎么建设外贸型网站建设公司
  • 漯河小学网站建设海外版tiktok官网入口
  • 策划设计网站seo中文全称是什么
  • 购买网站服务器免费注册个人网站官网
  • 在线购物网站开发做网站建设注册商标是多少类
  • 建设物流网站的规划html转wordpress
  • 上饶网站建设srsem延安网站建设电话咨询
  • 企业网站建设的wordpress最漂亮的主题