文章标题
来源:互联网 发布:微信一键加人软件 编辑:程序博客网 时间:2024/06/04 17:48
C++模板自己学习
在学习c++模板的时候,我们涉及到过向量的模板vector<int> vec
,这其实是已经定义好的类模板,我们拿来直接用,进行类模板的实例化,得到了vec的对象。但是为了增加语言的灵活性,c++支持用户自定义模板,实现封装。
模板是一种对类型进行参数化的工具。
通常有两种形式:函数模板和类模板。
使用模板的目的就是能够让程序员编写与数据类型无关的代码。
1. 函数模板格式
template<typename T> 函数返回值类型 函数名称 (函数参数列表)
{
函数体;
};
注意:T只是类型形参,在模板函数被调用的时候会把实际的数据类型传递给模板中的形参。
举个例子:
template<typename T> T func(T a,T b){ T temp; if(a>b) { temp = a; cout << temp << endl; }}调用函数func()的时候,func(2,3),这个时候会把int类型的实参传递给模板中的形参。从而实现函数的封装,实现函数的定义和数据类型无关。
2. 类模板的一般格式
Template<typename T> class 类名{...};
其中T只是自己取得形参的名称,没有实际意义。
举个例子:
Template<class T> class A{public: T a; T b; T func(T c, T &d); };
那么现在问题来了,怎么调用,对于函数而言我们说函数的调用,但是对于类而言我们一般说实例化,那么怎么实例化呢,同样可以参考vector<>
模板的用法,即是在实例化的时候进行实际的类型参数的传递。例如vector<int> veec
其中int是传递过去的实际类型参数。
其他的问题参考一下别人的博客。如下
阅读全文
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 读书笔记:MySQL文件
- 中断
- MAC python3 excel 数据存入mysql
- 杭电ACM 1465 不容易系列之一(错排)
- Color the ball (线段树)
- 文章标题
- local host is: "node5/172.16.100.115"; destination host is: "node5":9000;
- XMind之走进中国军队
- 2017多校3 1005 RXD and dividing
- 设计模式-工厂模式
- Android Volley完全解析(三),定制自己的Request
- Supermicro SYS-4028GR-TR +Nvidia tesla P4 +Ubuntu 16.04 +CUDA 8.0 深度学习环境搭建
- [codeforces] Gym
- Spring AOP 和 动态代理技术