早先时候,是通过宏的方式,来写一套代码,实现多个类型都能使用。
这个是在预处理的时候处理的。
模板,就是把工作从预处理那,放到了编译器这。编译器根据你传递参数的类型,来给你整出具体的容器来。
封装,继承,是重复使用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) |