Chinaunix首页 | 论坛 | 博客
  • 博客访问: 395197
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1620
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-10 16:55
个人简介

当你比别人优秀一点点,别人会嫉妒你。当你比别人优秀很多,别人会羡慕你。

文章分类

全部博文(138)

文章存档

2016年(2)

2015年(2)

2014年(15)

2013年(119)

我的朋友

分类: LINUX

2013-10-21 21:31:10

早先时候,是通过宏的方式,来写一套代码,实现多个类型都能使用。
这个是在预处理的时候处理的。

模板,就是把工作从预处理那,放到了编译器这。编译器根据你传递参数的类型,来给你整出具体的容器来。

封装,继承,是重复使用object code。
模板是重复使用source code。


执行效率估计没提高,甚至降低,只是提高了写代码的效率,写的快就是了。



模板的使用

模板定义:
1, 关键字 template
2,class  name {

public:char  func_1();
};

模板的使用。
name x; //定义了一个变量


==================================

如果是clase成员函数的定义,不在class内部,而是单独放在外面,那么需要
template
char name::func_1()
{}

也就是说:
1,也要在函数前面加上template
2,类名叫做 name


====================================
class 的成员,变量抑或函数,都可以始终使用T来替代具体的类型

===================================
模板类的声明和定义一般都放在头文件中,编译器不会为这些函数内部申请空间。有template做标志。

====================================
平时提到一个模板类,就是name,就如我现在要使用QT的一个链表,
那么有:QList, QLinkedList, 和 QVector 等多种模板可以选择。
阅读(777) | 评论(0) | 转发(0) |
0

上一篇:14 封装和继承

下一篇:自问自答

给主人留下些什么吧!~~