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

哪里学做网站建设工程管理专业

哪里学做网站,建设工程管理专业,做响应网站的素材网站,泉州优化怎么做搜索可变参数模板(参考《C Templates 英文版第二版》) Chapter 4 可变参数模板 自从C11,模板可以接受可变数量的参数 4.1 可变参数模板 可以定义模板,去接受无限数量的模板参数 这种行为的模板叫做可变参数模板 4.1.1 例子 #include iostreamtemplatetypename T…可变参数模板(参考《C Templates 英文版第二版》) Chapter 4 可变参数模板 自从C11,模板可以接受可变数量的参数 4.1 可变参数模板 可以定义模板,去接受无限数量的模板参数 这种行为的模板叫做可变参数模板 4.1.1 例子 #include iostreamtemplatetypename T void print(T arg) {std::cout arg std::endl; }templatetypename T, typename... Types void print(T firstArg, Types... args) {std::cout firstArg \n; // print first argumentprint(args...); // call print() for remaining arguments }int main(int argc, char* argv[]) {print(1, 4, 7, 妙); }4.1.3 运算符sizeof C11 之后,sizeof操作符对于可变参数模板有新的用法sizeof...,他返回参数包里面包含多少个元素 templatetypename T, typename... Types void print(T firstArg, Types... args) {std::cout sizeof... (Types) std::endl;std::cout sizeof... (args) std::endl; }4.2 折叠表达式 C11 提供了可变模板参数包, 使函数可以接受任意数量的参数. 但在 C11中展开参数包稍显麻烦, 而 C17 的折叠表达式使得展开参数包变得容易,其基本语法是使用 (...) 的语法形式进行展开. 支持的操作符 折叠表达式支持 32 个操作符: , -, *, /, %, ^, , |, , ,, , , , -, *, /, %, ^, , |, ,,, !, , , , ||, ,, .*, -* 对于一元右折叠 (E op …) 具体展开为 E1 op (… op (EN-1 op EN)).对于一元左折叠 (… op E) 具体展开为 (( E1 op E2) op …) op En.对于二元右折叠 (E op … op I) 具体展开为 E1 op (… op (EN-1 op (EN op I))).对于二元左折叠 (I op … op E) 具体展开为 (((I op E1) op E2) op …) op E2. // define binary tree structure and traverse helpers: struct Node {int value;Node* left;Node* right;Node(int i0) : value(i), left(nullptr), right(nullptr) {}//... }; auto left Node::left; auto right Node::right;// traverse tree, using fold expression: templatetypename T, typename... TP Node* traverse (T np, TP... paths) {return (np -* ... -* paths); // np -* paths1 -* paths2 ... }int main() {// init binary tree structure:Node* root new Node{0};root-left new Node{1};root-left-right new Node{2};//...// traverse binary tree:Node* node traverse(root, left, right);//... }使用(np-* ... -* paths)这个折叠表达式去遍历参数代表的路径 使用折叠表达式我们可以实现打印参数列表 templatetypename ... Types void print(Types const... args) {(std::cout ... args) \n; }int main() {int a{ 12 };std::string b{ 博主是帅哥 };print(a, b); }但是我们这个函数有个小缺陷,就是无法打印空格,让我们来实现一下: templatetypename T class AddSpace {private:T const ref; // refer to argument passed in constructorpublic:AddSpace(T const r): ref(r) {}friend std::ostream operator (std::ostream os, AddSpaceT s) {return os s.ref ; // output passed argument and a space} };templatetypename... Args void print (Args... args) {( std::cout ... AddSpace(args) ) \n; }运行: int main() {int a{ 12 };std::string b{ 博主是帅哥 };print(a, b); }
http://wiki.neutronadmin.com/news/28510/

相关文章:

  • 南宁模板做网站网站开发费税率是多少
  • ai logo设计网站wordpress 用的什么框架
  • 深圳市建设行业主管部门官方网站ev123建站
  • 成都爱站网seo站长查询工具运营商大数据精准营销获客
  • 网站免费制作营口网站建设求职简历
  • 网站首页的尺寸哪些是网站建设
  • 旅游网站建设问题wordpress 关键词描述
  • 通州区网站建设公司wordpress侧边栏怎么加php代码
  • 潮州专业网站建设制作做淘客网站备案
  • linux新建网站小清新网站源码
  • 如何为企业做网站wordpress怎么弄登录
  • 做展览的网站网站做迅雷下载链接
  • 电子书制作公司网站阿里巴巴网站建设的目的
  • 主页网站模板asp.net做登录注册网站
  • 天津网站建设定做绵阳网站建设 小程序
  • 东莞网站系统后缀广州线上教学
  • 北京响应式网站制作公司pc 手机站网站制作
  • 网站建设需要投资多少网站制作 深圳有什么公司
  • 如何构建企业网站网站建设哪些职位
  • 天津建设与管理局网站5118网站如何使用免费版
  • 广州建设银行招聘网站网站建设社区交流
  • 河南企业网站优化外包猴痘的传播途径
  • 怎么做律师事务所的网站wordpress手机文章列表
  • 建筑公司网站设计思路战队logo设计在线生成
  • 门户手机网站源码网络站点推广的方法
  • 建设通类型的网站网站增值服务
  • 十堰专业网站建设公司域名注册后能开始建设网站吗
  • 中国空间站什么时候建成湖北创研楚商网站建设销售人员
  • wordpress 站内信 群发做爰试看的网站
  • 石家庄网站建设求职简历网站服务器怎么打开