广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++11模板函数的默认模板参数举例分析
  • 624
分享到

C++11模板函数的默认模板参数举例分析

2023-06-19 11:06:38 624人浏览 泡泡鱼
摘要

这篇文章主要介绍“c++11模板函数的默认模板参数举例分析”,在日常操作中,相信很多人在C++11模板函数的默认模板参数举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11模板函数的默认模板参数举

这篇文章主要介绍“c++11模板函数的默认模板参数举例分析”,在日常操作中,相信很多人在C++11模板函数的默认模板参数举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11模板函数的默认模板参数举例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

经典的例子

这是一个相对简单的特性,首先借用C++ Primer中的示例代码。

C++11模板函数的默认模板参数举例分析

除了高亮的部分以外,就是一个普通的模板比较函数。而高亮的部分就是本文的主题:模板函数的模板参数。这种写法的含义就是如果程序员没有指定第二个模板参数,编译器就默认使用less<T>;如果程序员另外指定了模板参数,例如greater<T>,那么就使用指定的那个模板参数。

观察以下代码:

C++11模板函数的默认模板参数举例分析

第一行没有指定第三个模板参数,并且1<2,所以返回-1;第二行另外指定了greater<int>,执行的是相反的比较逻辑,返回1。

开发实例

C++11增加这个新特性肯定不只是用于比较运算的,但是想出一个合适的例子还真是不大容易,作者勉为其难地想出来一个。

有一个XML文件解析器,需要从不同的文件中大读入XML文件,经过解析之后以另外一种形式输出。作为代表,这里有两种文件格式AscFile和ZipFile,它们分别支持读写操作。

C++11模板函数的默认模板参数举例分析

这两个类没有共同的基类,也没有继承意义上的其他关系,但是由于具有相同的调用形式,还是可以使用模板来实现另外一种意义上的抽象。

C++11模板函数的默认模板参数举例分析

XmlParser类一共指定了两个模板参数,分别是输入文件和输出文件。编程者可以根据需要分别指定。我们认为:一般情况下输入文件和输出文件是形同形式的。所以指定第二个模板参数的缺省值是第一个参数。使用XmlParser的示例代码如下:

C++11模板函数的默认模板参数举例分析

使用者可以自由组合输入,输出文件的类型。

到此,关于“C++11模板函数的默认模板参数举例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C++11模板函数的默认模板参数举例分析

本文链接: https://www.lsjlt.com/news/295615.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++11模板函数的默认模板参数举例分析
    这篇文章主要介绍“C++11模板函数的默认模板参数举例分析”,在日常操作中,相信很多人在C++11模板函数的默认模板参数举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11模板函数的默认模板参数举...
    99+
    2023-06-19
  • C++11可变参数模板的参数转发举例分析
    本篇内容主要讲解“C++11可变参数模板的参数转发举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11可变参数模板的参数转发举例分析”吧!实例很多软件系统都存在日志(log)功能,通...
    99+
    2023-06-19
  • C++11模板函数与返回类型后置举例分析
    这篇文章主要介绍“C++11模板函数与返回类型后置举例分析”,在日常操作中,相信很多人在C++11模板函数与返回类型后置举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++11模板函数与返回类型后置举...
    99+
    2023-06-19
  • C++函数模板和类模板分析
    本篇内容介绍了“C++函数模板和类模板分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.函数模板函数模板定义了参数化的非成员函数,这使得...
    99+
    2023-06-17
  • C++ 类模板与成员函数模板示例解析
    目录类模板类模板与成员函数模板的区别类模板 前面以函数模板为例,介绍了具体化与实例化。那么对于类模板,有什么不同呢? 类包括成员变量和成员函数,他们都可以包含类模板的模板参数。而成...
    99+
    2023-01-03
    C++ 类模板成员函数模板 C++ 类模板成员函数模板
  • C++11中的可变参数模板/lambda表达式
    目录1.可变参数模板递归函数方式展开参数包逗号表达式展开参数包2.lambda表达式先来看看lambda表达式的例子:lambda表达式语法1.可变参数模板 C++11的新特性可变参...
    99+
    2023-03-24
    C++11 lambda表达式 C++11 可变参数模板
  • C++11继承的构造函数举例分析
    本篇内容主要讲解“C++11继承的构造函数举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11继承的构造函数举例分析”吧!假设我们有下面的CRect类:由于今天的内容是讲构造函数的,...
    99+
    2023-06-19
  • C++中占位参数和默认参数的示例分析
    这篇文章将为大家详细讲解有关C++中占位参数和默认参数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,默认参数在c++中,函数的形参列表中的形参是可以有默认值的。语法: 返回值类型 函数名 (...
    99+
    2023-06-29
  • C++数据结构模板进阶实例分析
    本文小编为大家详细介绍“C++数据结构模板进阶实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++数据结构模板进阶实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。非类型模板参数模板参数分类类型形参...
    99+
    2023-06-29
  • c++可变参数模板使用示例源码解析
    目录前言认识可变模板参数使用可变模板参数递归法特例化包拓展完美转发总结前言 我们知道,C++模板能力很强大,比起Java泛型这种语法糖来说,简直就是降维打击。而其中,可变参数模板,...
    99+
    2023-01-13
    c++可变参数模板 c++可变参数
  • 浅析C++可变参数模板的展开方式
    目录前言可变参数模板的定义参数包的展开递归函数方式展开逗号表达式展开enable_if方式展开折叠表达式展开(c++17)总结前言 可变参数模板(variadic templates...
    99+
    2022-11-13
  • C++11中的可变参数模板和lambda表达式怎么使用
    本篇内容介绍了“C++11中的可变参数模板和lambda表达式怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.可变参数模板C++1...
    99+
    2023-07-05
  • c++类函数作为模板参数实现的方法是什么
    今天小编给大家分享一下c++类函数作为模板参数实现的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。需求背景DB操作...
    99+
    2023-07-05
  • 一篇文章让你彻底明白c++11增加的变参数模板
    目录前言1. 什么是变参数模板2. 变参数模板的基础-模板形参包2.1 非类型模板形参包2.2 类型模板形参包2.3 模板模板形参包3. 模板形参包的延伸-函数形参包4. 模板形参包...
    99+
    2022-11-12
  • C++函数模板非类型参数的注意事项有哪些呢
    本篇文章为大家展示了C++函数模板非类型参数的注意事项有哪些呢,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中的模板应用是一个非常重要的应用技术。那么今天我们就先来了解一下有关C++函...
    99+
    2023-06-17
  • C++11中模板隐式实例化与显式实例化的定义详解分析
    目录1. 隐式实例化2. 显式实例化声明与定义3. 显式实例化的用途1. 隐式实例化 在代码中实际使用模板类构造对象或者调用模板函数时,编译器会根据调用者传给模板的实参进行模板类型推...
    99+
    2022-11-13
  • C++数据结构模板进阶的多方面分析
    目录非类型模板参数模板的特化函数模板的特化类模板的特化模板的分离编译总结⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/cpp-class...
    99+
    2022-11-13
  • js模板引擎art template数组渲染的示例分析
    这篇文章主要介绍js模板引擎art template数组渲染的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是art-templateart-template 是一个简约...
    99+
    2022-10-19
  • TypeScript数据类型中模板字面量的示例分析
    这篇文章主要为大家展示了“TypeScript数据类型中模板字面量的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“TypeScript数据类型中模板字面...
    99+
    2022-10-19
  • 浅析C++模板类型中的原样转发和可变参数的实现
    目录原样转发的意义模板的可变参数总结原样转发的意义 前文我们实现了一个my_move函数,用来模拟stl的move操作,实现去引用的功能。其内部的原理就是通过remove_refer...
    99+
    2022-11-13
    C++ 原样转发 C++ 可变参数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作