C++模板
C++模板
linuxcpp_
这个作者很懒,什么都没留下…
展开
-
c++模板(6)--类模板
c++模板--类模板1 类模板的基本概念2 类模板做函数参数3 类模板碰到继承的问题3.1 类模板派生普通类3.2 类模板派生类模板4 类模板的类内类外实现4.1 类模板的类内实现4.2 类模板的类外实现5 类模板的头文件和源文件分离问题6 类模板碰到友元函数6.1 友元函数类内实现6.2 友元函数类外实现 1 类模板的基本概念 类模板和函数模板的定义和使用类似,我们已经进行了介绍。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同。 类模板和函数模板区别: 类模板不可以使用自动类型推导,只能用显示原创 2021-01-31 02:52:55 · 490 阅读 · 0 评论 -
c++模板(5)--模板机制剖析和模板的局限性
c++模板--模板机制剖析和模板的局限性1 模板机制剖析1.1 编译过程1.2 模板实现机制2 模板的局限性 1 模板机制剖析 1.1 编译过程 hello.cpp程序是高级c语言程序,这种程序易于被人读懂。为了在系统上运行hello.c程序,每一条c语句都必须转化为低级的机器指令。然后将这些机器指令打包成可执行目标文件格式,并以二进制形式存储于磁盘中。 预处理(Pre-processing) -> 编译(Compiling) ->汇编(Assembling) -> 链接(Linking)原创 2021-01-30 23:31:39 · 255 阅读 · 0 评论 -
c++模板(4)--函数模板和普通函数在一起调用规则
c++模板--函数模板和普通函数在一起调用规则1 函数模板和普通函数在一起调用规则 1 函数模板和普通函数在一起调用规则 c++编译器优先考虑普通函数 可以通过空模板实参列表的语法限定编译器只能通过模板匹配 函数模板可以像普通函数那样可以被重载 如果函数模板可以产生一个更好的匹配,那么选择模板 //函数模板 template<class T> T MyPlus(T a, T b) { T ret = a + b; return ret; } //普通函数 int MyPlus(int原创 2021-01-27 22:38:19 · 166 阅读 · 0 评论 -
c++模板(3)--函数模板和普通函数的区别
c++模板--函数模板和普通函数的区别1 函数模板和普通函数的区别 1 函数模板和普通函数的区别 函数模板不允许自动类型转化 普通函数能够自动进行类型转化 #include <iostream> using namespace std; //函数模板 template<typename T> T MyPlus(T a, T b) { T ret = a + b; return ret; } //普通函数 int MyPlus(int a,char b) { int r原创 2021-01-27 22:32:37 · 93 阅读 · 0 评论 -
c++模板(2)--函数模板
c++模板--函数模板1 函数模板 1 函数模板 什么是函数模板? 通过下面的例子,我们来了解一下什么是函数模板。 假设:我们需要两个数据交换的函数,例如int数据交换和double数据交换。我们的代码实现如下: #include <iostream> using namespace std; // int数据交换 void SwapInt(int& a,int& b) { int temp = a; a = b; b = temp; } // double数据交换 v原创 2021-01-27 22:27:26 · 153 阅读 · 0 评论 -
c++模板(1)--模板的概念
c++模板--模板的概念1 模板概念2 总结 1 模板概念 c++提供了函数模板(function template.)所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模板。凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同函数的功能。 c++提供两种模板机制:函数模板和类模板 类属 - 类型参数化,又称参数模板 2 总结 模板把原创 2021-01-27 22:10:44 · 283 阅读 · 0 评论