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

可以做旅游攻略的网站it行业干什么

可以做旅游攻略的网站,it行业干什么,网络广告发布的形式主要包括,个人可以建设网站吗不备案C模板函数 函数模板简单的函数模板模板类型推导返回输入的类型#xff0c;模板返回的类型由输入的决定返回类型的模板参数返回值使用auto#xff0c;编译器自动推导 默认模板实参模板参数重载函数模板 constexpr关键字 函数模板 简单的函数模板 typename 可以使用class代替… C模板函数 函数模板简单的函数模板模板类型推导返回输入的类型模板返回的类型由输入的决定返回类型的模板参数返回值使用auto编译器自动推导 默认模板实参模板参数重载函数模板 constexpr关键字 函数模板 简单的函数模板 typename 可以使用class代替但是不可以是使用struct代替。 template typename T T mmax(T a, T b) {return b a ? a : b; }模板类型推导 返回输入的类型模板返回的类型由输入的决定 template typename T T mmax(T a, T b) {return b a ? a : b; }T是由输入的参数类型推导出来的输入int T就是int型的。 如果a 和 b一个是int一个是double就需要定义两个typename。 template typename T1, typename T2 T1 mmax(T1 a, T2 b) {return b a ? a : b; }返回类型的模板参数 当模板参数和调用参数之间没有关联的时候且模板参数不确定的时候必须在调用时显式指定模板实参。 添加三个模板类型调用的时候必须指定模板的返回类型 template typename TR, typename T1, typename T2 TR mmax(T1 a, T2 b) {return b a ? a : b; }std::cout mmaxint(10.3,6) endl; 返回值使用auto编译器自动推导 从C14开始可以通过不声明任何返回类型来实现。 template typename T1, typename T2 auto mmax(T1 a, T2 b) - typename std::decaydecltype(b a ? a : b)::type {return b a ? a : b; }这里使用了类型特征 std::decay,其返回结果类型为成员type 。 std::decay在标准库type_traits 中定义。由于其成员type是一个类型因此必须用typename修饰这个表达式才能访问它。 从C11C标准库提供了一种指定选择“更一般的类型”的方法。std::common_type::type 萃取作为模板实参传递的两个或多个不同类型的“公共类型”。 C11写法 template typename T1, typename T2 typename std::common_typeT1, T2::type mmax(T1 a, T2 b) {return b a ? a : b; } C 14 写法 template typename T1, typename T2 std::common_type_tT1, T2 mmax(T1 a, T2 b) {return b a ? a : b; }std::common_type 也是在标准库type_traits 中。 它可以萃取一个具有作为结果类型的type 成员的结构体。 其核心用法 typename std::common_typeT1, T2::type从C14 开始可以通过在特征名称后面附加_t 并省略typename 和 type std::common_type_tT1, T2在内部它根据运算符?:的语法规则或具体的类型的特化来选择类型。 默认模板实参 使用三目运算符?: 不过必须在a和b参数调用之前使用。 template typename T1, typename T2, typename TR std::decay_tdecltype(true ? T1() : T2()) TR mmax(T1 a, T2 b) {return b a ? a : b; }使用std::common_type 类型特征来指定返回类型的默认值 template typename T1, typename T2, typename TR std::common_type_tT1, T2 TR mmax(T1 a, T2 b) {return b a ? a : b; }需要注意的是std::common_type 会进行退化因此返回类型不可能变成引用类型。 模板参数 templatetypename T, int N void Print(T a) {std::vectorT num;for(int i 0; i N; i){num.push_back(i a);}for(auto value : num){std::cout static_castT(value) std::endl;} }重载函数模板 int mmax(int a, int b) {return b a? a : b; }templatetypename T T mmax(T a, T b) {return b a? a : b; }std::cout mmax(10.3,6.1) endl; //使用的模板函数一个模板函数可以和一个普通函数同名且可以用相同类型实例化的函数模板共存。在所有其他因素都相同的情况下重载解析过程优先选择非模板函数。 std::cout mmax(a, 6) endl;由于模板参数推导不允许自动类型转换而普通函数可以因此此函数使用的是非模板函数。 template typename T1, typename T2 auto mmax(T1 a, T1 b) {return b a ? a : b; }template typename TR, typename T1, typename T2 TR mmax(T1 a, T1 b) {return b a ? a : b; } auto a mmaxdouble, int(10.3, 6);使用第一个模板 auto b mmaxlong, double(10.3, 6); 使用第二个模板 auto c mmaxint(10.3, 6); 错误 两个模板都能匹配 两个模板都能匹配通常会造成重载解析过程中无从选择并产生歧义。因此在重载函数模板时应该确保对于任何调用其中只有一个与之匹配。 constexpr关键字 从C11开始可以使用关键字constexpr来启用在编译器使用代码计算某些数值的功能。 constexpr int Sum(int a, int b) {return a b; } int Iarray[Sum(10,3)];使用这个关键字修饰函数就可以自定义数组大小如果不用这个关键字修饰代码编译会出错的。
http://www.hkea.cn/news/14515680/

相关文章:

  • 用asp做网站流程品牌网站建设渠道
  • 网站是什么东西wordpress国内现状
  • 做网站常用图标wordpress 文章投票插件
  • 营销型网站建设实训总结手机网站免费建设
  • 网站设计计费工厂生产管理系统
  • 建设飞鹰摩托车官方网站网站开发是什么经营范围
  • 吕梁网站制作响应式网站案列
  • 什么网站做聚乙烯醇好的北京网站建设排行榜
  • 海南营销型网站建设快速建站平台源码
  • 做网站 360的好不好小说排行榜
  • h5手机网站开发demo为什么自己做的网站打开是乱码
  • 花乡做网站公司合肥建工学校
  • 如何使用爱站网中国建设银行网站公积金查询余额
  • 佛山网站建设公司88六安网页
  • win10 网站建设软件有哪些网站建设素材收集通知
  • 苏州建网站提供广告设计与制作培训学校
  • 浅谈阿里企业的电子网站建设网站建设mus18
  • 石家庄网站制作视频商城网站的搜索记录代码怎么做
  • 衡水建个网站多少钱淘客推广个人网站怎么做
  • 做外贸哪些网站可以找客户西安网站建设瑞信
  • 手机可以建设网站吗wordpress收费主题破解下载
  • 为网站做外链的文章企业查询系统
  • 织梦网站后台教程泰州网站设计公司
  • 网站开发外包公司wordpress搭建电商教程
  • 做网站的的人收入多少钱医院做网站的意义
  • 获得网页源码怎么做网站舆情系统源码
  • 网站介绍视频怎么做苏州工业园区建设局网站
  • 大学有吗网站建设小程序制作定制开发
  • 1个人做多网站负责人wordpress 目录插件
  • 东阿县住房和城乡建设局网站个人介绍微电影网站模板