2020年9月25日
摘要: 类模板和函数模板的定义和使用类似。 类模板用于实现类所需求数据的类型参数化; 类模板在表示如数组、表、图等数据结构特别重要,这些数据结构的表示和算法不受所包含的元素类型影响; 单个类模板语法: #include<iostream> using namespace std; //模板类 类型参数化 t 阅读全文
posted @ 2020-09-25 16:39 龑覭 阅读(129) 评论(0) 推荐(0) 编辑
  2020年9月24日
摘要: 问题:为什么函数模板可以和函数重载放在一起,c++编译器是如何提供函数模板机制的? 首先需要知道编译器原理: 常用的gcc编译器,可以编译多种语言,具体百度。 将Qt中的g++编译器添加到环境变量中,在cmd中调用g++版本: 先用一个最简单的程序: #include<iostream> using 阅读全文
posted @ 2020-09-24 21:53 龑覭 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 当模板函数与普通函数发生重载的时候: 普通函数的调用:可以进行隐式的类型转换 调用模板函数:本质是类型参数化。将严格的按照类型进行匹配,不会进行自动类型转换。 所以在模板函数与普通函数发生重载的时候,先看实参与形参是否严格对应,对应之后才可以直接调用模板函数,否则将在普通函数中直接进行隐式类型转换。 阅读全文
posted @ 2020-09-24 21:10 龑覭 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 通过对一个排序算法的编写,加深理解函数模板即为:类型的参数化 #include<iostream> using namespace std; //让字符数据和 int型数据进行排序 template<typename T1,typename T2> int mySort(T1* array, T2 阅读全文
posted @ 2020-09-24 20:52 龑覭 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 当函数的业务逻辑相同但是函数的参数不相同时,让类型参数化,让程序员能够方便编程,就用到了泛型编程。 基本语法: #include<iostream> using namespace std; //函数的业务逻辑一样但是函数的参数不一样 //void myswap01(int& a, int& b) 阅读全文
posted @ 2020-09-24 20:26 龑覭 阅读(90) 评论(0) 推荐(0) 编辑