C++编程思想(2nd卷一):模板简介
2009-11-09 09:21
441 查看
头文件:
模板定义很特殊。在template<...>之后的任何东西都意味着编译器在当时不为它分配存储空间,而是一直处于等待状态直到被一个模板示例告知。在编译器和连接器中有机制能去掉同一模板的多重定义。所以为了使用方便,几乎总是在头文件中放置全部的模板声明和定义。
当创建一个嵌套friend类的时候,必须经过首先声明这个类的名字,然后声明它是友员,最后定义这个类的过程。
例:
class iterator;
friend class iterator;
class iterator { //...... };
因为容器类模板很少关系到普通类所具有的继承和向上类型转换,所以不会在容器类中看到虚函数。容器的重用是用模板,而不是用继承实现的。
模板定义很特殊。在template<...>之后的任何东西都意味着编译器在当时不为它分配存储空间,而是一直处于等待状态直到被一个模板示例告知。在编译器和连接器中有机制能去掉同一模板的多重定义。所以为了使用方便,几乎总是在头文件中放置全部的模板声明和定义。
当创建一个嵌套friend类的时候,必须经过首先声明这个类的名字,然后声明它是友员,最后定义这个类的过程。
例:
class iterator;
friend class iterator;
class iterator { //...... };
因为容器类模板很少关系到普通类所具有的继承和向上类型转换,所以不会在容器类中看到虚函数。容器的重用是用模板,而不是用继承实现的。
相关文章推荐
- C++编程思想(2nd卷一):内联函数
- C++编程思想(2nd卷一):引用和拷贝构造函数
- C++编程思想——模板与泛型
- C++编程思想(2nd卷一):函数重载与默认参数
- C++编程思想(2nd卷一):名字控制
- C++编程思想(2nd卷一):运算符重载
- 模板(C++编程思想第二卷)
- C++编程思想(2nd卷一):常量
- C++编程思想(2nd卷一):动态对象创建
- C++笔记——c++编程思想(上)多态性、虚函数与模板
- C++编程思想(2nd卷一):引用和拷贝构造函数
- C++编程思想(2nd卷一):继承和组合
- c++编程思想 之 模板
- C++编程思想(卷二):设计模式:模板方法模式
- C++编程思想(2nd卷一):运算符重载
- C++编程思想(卷二):深入理解模板
- C++编程思想(2nd卷一):函数重载与默认参数
- C++编程思想(2nd卷一):多态性和虚函数
- C++编程思想(2nd卷一):动态对象创建
- C++编程思想(2nd卷一):常量