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

海南手机网站建设公司重庆九龙坡营销型网站建设公司推荐

海南手机网站建设公司,重庆九龙坡营销型网站建设公司推荐,企业qq手机版下载,天元建设集团有限公司总裁赵纪峰前言 大家好吖#xff0c;欢迎来到 YY 滴C系列 #xff0c;热烈欢迎#xff01; 本章主要内容面向接触过C的老铁 主要内容含#xff1a; 欢迎订阅 YY滴C专栏#xff01;更多干货持续更新#xff01;以下是传送门#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》… 前言 大家好吖欢迎来到 YY 滴C系列 热烈欢迎 本章主要内容面向接触过C的老铁 主要内容含 欢迎订阅 YY滴C专栏更多干货持续更新以下是传送门 YY的《C》专栏YY的《C11》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易错点》专栏YY的《小小知识点》专栏 目录 一.可变参数模板【1】基本可变参数的函数模板演示【2】使用求函数包的大小——【...语法】【3】使用递归函数方式展开参数包遍历/打印演示【4】使用注意点参数包遍历/打印是不支持类似数组一样的遍历打印方式【5】使用逗号表达式方式展开参数包遍历/打印演示(看懂即可)【6】使用一般遍历/打印展开参数包的最常用方式——【...语法】 一.可变参数模板 【1】基本可变参数的函数模板演示 下面的参数 args 前面有省略号所以它就是一个 可变模版参数 我们把 带省略号的参数称为“参数包” 它里面包含了0到NN0个模板参数用可变模版参数的一个主要特点我们无法直接获取参数包args中的每个参数的只能通过展开参数包遍历的方式来获取参数包中的每个参数【可在第3小点查看详解】虽然 参数包的底层是 —— 类似数组的形式存储 但是语法不支持使用args[i]这样方式获取可变参数【可在第4小点查看详解】 // Args是一个模板参数包args是一个函数形参参数包 // 声明一个参数包Args...args这个参数包中可以包含0到任意个模板参数。 template class ...Args void ShowList(Args... args) {}【2】使用求函数包的大小——【…语法】 代码sizeof...(args) void ShowList(Args... args) {cout sizeof...(args) endl; }【3】使用递归函数方式展开参数包遍历/打印演示 如下面代码所示要设计两个函数 结束条件的函数 递归函数 分析 我们可以发现设计的_ShowList函数的参数是(T val, Args… args) 我们可以这样理解 —— 它把参数包的 第一个 拿了出来当作参数T 剩下的参数包 再整成另一个新的参数包args… void _ShowList() {// 结束条件的函数————传空cout endl; }template class T, class ...Args void _ShowList(T val, Args... args) {cout val ;_ShowList(args...); }//args代表0-N的参数包 template class ...Args void CppPrint(Args... args) {_ShowList(args...); }int main() {CppPrint();CppPrint(1);CppPrint(1, 2);CppPrint(1, 2, 2.2);CppPrint(1, 2, 2.2, string(xxxx));// ...return 0; }【4】使用注意点参数包遍历/打印是不支持类似数组一样的遍历打印方式 参数包不支持如下面代码所示根据其底层是 类似数组的形式 下面代码是想利用数组的方式打印 template class ...Args void ShowList(Args... args) {cout sizeof...(args) endl;// 不支持这样打印for (size_t i 0; i sizeof...(args); i){cout args[i] endl;} }【5】使用逗号表达式方式展开参数包遍历/打印演示(看懂即可) 我们知道逗号表达式会 按顺序执行逗号前面的表达式 函数中的逗号表达式(printarg(args), 0)也是按照这个执行顺序先执行PrintArg(args)再得到逗号表达式的结果0同时还用到了C11的另外一个特性——初始化列表 通过初始化列表来初始化一个变长数组 {(printarg(args), 0)…}将会展开成((printarg(arg1),0),(printarg(arg2),0), (printarg(arg3),0), etc… ) 最终会创建一个元素值都为0的数组int arr[sizeof…(Args)]。由于是逗号表达式在创建数组的过程中会先执行逗号表达式前面的部分printarg(args)打印出参数也就是说在构造int数组的过程中就将参数包展开了 这个数组的目的 纯粹是为了在数组构造的过程展开参数包 template class T void PrintArg(T t) {cout t ; } //展开函数 template class ...Args void ShowList(Args... args) {int arr[] { (PrintArg(args), 0)... };cout endl; } int main() {ShowList(1);ShowList(1, A);ShowList(1, A, std::string(sort));return 0; }【6】使用一般遍历/打印展开参数包的最常用方式——【…语法】 用如下面代码所示构建数组即可int a[] { PrintArg(args)...}; void CppPrint()//单独讨论参数为空的清空 {cout endl; }template class T int PrintArg(T t) {cout t ;return 0; }//args代表0-N的参数包 template class ...Args void CppPrint(Args... args) {int a[] { PrintArg(args)...};cout endl; }int main() {CppPrint();CppPrint(1);CppPrint(1, 2);CppPrint(1, 2, 2.2);CppPrint(1, 2, 2.2, string(xxxx));return 0; }
http://www.pierceye.com/news/810025/

相关文章:

  • wordpress建站网站根目录短视频怎么赚钱
  • 亳州网站开发公司wordpress 添加分享
  • 如何查询网站接入信息移动网站开发框架
  • 河南做网站的百度竞价推广收费标准
  • 深圳的深圳的网站建设公司校园网站建设方向
  • 电商网站建设 解决方案的设计营销策略都有哪些方面
  • 菏泽网站建设兼职凡科网制作网站教程
  • 实验一 电子商务网站建设与维护北京网站设计培训学校
  • 周到的网站建设合肥建筑网站大全
  • 国外互联网资讯网站南宁网站制作费用
  • 建设公司网站要注意哪些蜜雪冰城推广软文
  • 做信息安全的网站博客网站的建设
  • 门户网站建设项目书提升学历是什么意思
  • 上海网站建设极简慕枫塘沽有哪些互联网公司
  • 社区网站如何做官方网站建设哪儿有
  • 做兼职的网站策划书大连中山网站建设
  • 中国摄影网站深圳网站建设龙华
  • 个人网站怎么建立深圳网站建站费用
  • 笔趣阁建站教程网页设计 网站建设啥意思
  • 海门网站开发西安响应式网站建设服务提供商
  • 自适应网站建站哈尔滨市建设安全监察网站
  • nas服务器可以做网站吗电商类网站开发方案
  • 免费的个人的网站网站建设 考虑
  • 医院网站建设的目的高端网站有哪些优势
  • 佛山网站建设首选如何备份wordpress
  • 优化稳定网站排名网站建设需要学什么语言
  • 可以做设计私单的网站硬件开发工程师面试
  • 竞价网站单页网页设计师中级证书有用吗
  • 做网站 简单外包wordpress 插件api
  • 白城网站seo新手怎么建立自己网站