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

黄冈网站建设哪家快些网站规划与建设评分标准

黄冈网站建设哪家快些,网站规划与建设评分标准,vue小程序开发教程,企业网站升级这个系列主要记录C模板元编程的常用语法 文章目录 引言语法应用函数模板可变参数的打印可变参数的最小/最大函数 类模板 参考文献 引言 在C11之前#xff0c;函数模板和类模板只支持含有固定数量的模板参数。C11增强了模板功能#xff0c;允许模板定义中包含任意个(包括0个)… 这个系列主要记录C模板元编程的常用语法 文章目录 引言语法应用函数模板可变参数的打印可变参数的最小/最大函数 类模板 参考文献 引言 在C11之前函数模板和类模板只支持含有固定数量的模板参数。C11增强了模板功能允许模板定义中包含任意个(包括0个)模板参数即可变参数模板。 语法 templatetypename... Types其中 ... 可接纳的模板参数0。 如果不希望产生模板参数个数为0的变长参数模板则可以采用以下定义 templatetypename Head, typename... Tail由于多了Head类型该模板必须有一个及以上的模板参数。 应用 函数模板 可变参数的打印 函数模板中一种常见的使用可变参数模板的场景是以递归的方式取出可用参数 #include iostreamvoid print() {}templatetypename T, typename... Types void print(const T firstArg, const Types... args) {std::cout firstArg sizeof...(args) std::endl;print(args...); }template typename... Types void print(const Types... args) {std::cout print(...) std::endl; }int main(int argc, char* argv[]) {print(3.0f, hello world, 10);return 0; }上面例子表示我们想要输出一个单精度浮点值字符串整型值 上面的 void print() {} 代表模板递归的终止。print(args...) 展开参数向下模板递归。sizeof...(args) 得到参数的个数。 最终输出为 考虑如下情况如果除了有上面的模板我们还定义了一个完全泛化的模板 template typename... Types void print(const Types... args) {std::cout print(...) std::endl; }那么输出结果是怎么样的 答案是还是输出上面的值这是因为编译器对于偏泛化和偏特化都满足的情况会选择偏特化的模板。 可变参数的最小/最大函数 有时我们想得到可变参数的最小/最大函数可以如下实现 #include iostreamtemplate typename T T m_min(T value) {return value; }template typename T, typename... Types T m_min(T value, Types... args) {return std::min(value, m_min(args...)); }int main(int argc, char *argv[]) {std::cout my_min(4, 3, 1, 2) std::endl;return 0; } 类模板 可变参数模板也可以用于类模板中比如STL中的tuple #include iostreamtemplatetypename... Values class tuple; template class tuple {};templatetypename Head, typename... Tail class tupleHead, Tail...: private tupleTail... {typedef tupleTail... inherited; public:tuple() {}tuple(Head v, Tail... vtail) : m_head(v), inherited(vtail...) {}Head head() { return m_head; }inherited tail() { return *this; } protected:Head m_head; };int main(int argc, char* argv[]) {tuplefloat, std::string, int t(3.0f, hello world, 10);std::cout t.head() t.tail().head() t.tail().tail().head() std::endl;return 0; }通过可变参数模板实现递归继承根基类为 template class{}父类成员在内存中位于子类成员之前。 这里的输出为 参考文献 【C】C11可变参数模板函数模板、类模板
http://www.w-s-a.com/news/972315/

相关文章:

  • 建站平台 绑定域名怎么在手机上做网站
  • 做电影网站违法吗莱芜 网站
  • 品牌咨询公司泉州seo不到首页不扣费
  • 做网站做一个什么主题的怎样搭建一个企业网站
  • 做设计的有什么网站桂林论坛网站有哪些
  • 做的网站不能放视频开发公司春联
  • 重庆装修房子可以提取公积金吗长沙优化官网公司
  • 做外贸的网站都有哪些带后台的html网站源码
  • 厦门百度快速优化排名手机系统优化工具
  • 宁波网站制作公司推荐公司建站多少钱
  • 网络营销薪酬公司温州网站优化定制
  • 橙色在网站中的应用淘宝客绑定网站备案号
  • 杭州视频网站建设成都设计院排行
  • 慈溪建设网站盘丝洞app破解无限盘币
  • 关于服装店网站建设的策划方案seo关键词优化软件官网
  • 丰台高端网站建设土巴兔装修贵吗
  • 宽屏网站mysqli pdo wordpress
  • 2022年没封网站直接进入赣州网吧
  • 河南省建设厅证件证件查询网站硬件开发是什么意思
  • tp5做企业网站宿迁房产网租房信息
  • php高级网站开发wordpress不能添加文章
  • 小学校园网站建设付费阅读下载网站开发
  • 如何做招聘网站网站建设中 敬请期待
  • 雅安工程交易建设网站做vip电影网站
  • 网站建设方维网站标题title为什么不能频繁的改
  • 网站建设如何上传文件wordpress列表自定义数据表
  • 摄影课程自学网站科技项目的类型有
  • 未来最紧缺的十大专业长春seo顾问
  • 为什么点不开网站公关公司是做什么的
  • wordpress主要菜单如何对网站页面进行优化