111.容器中存放的都必须是值而不能是引用,容器内部实施的是值拷贝工作,容器内可以存放指针作为数据元素,STL中的容器其实就是数据结构课程中学习的链表,栈,队列和哈希表等结构。
112.线性表的典型操作:
(1)size:获取当前容器中的元素数目。
(2)insert:在当前元素前插入新元素。
(3)erase:删除当前元素。
(4)empty:判断当前容器是否为空。
(5)front:获取第一个元素。
(6)back:获取最后一个元素。
……
113.栈和队列的典型操作:
(1)puah:无返回值,将元素压栈(队列)。
(2)pop:弹出栈(队列)第一个元素。
(3)top:返回栈的第一个元素。
(4)front:返回队列第一个元素。
……
114.STL提供了大多数常用的泛型算法。
(1)如:遍历,排序,反转,合并等等。
(2)算法头文件:<algorithm>。
115.C++中仍然支持C语言中的可变参数函数,C++编译器的匹配调用优先级:
(1)重载函数。
(2)函数模板。
(3)可变参数函数。
116.C++中的多态,根据实际的对象类型调用对应的虚函数。
(1)可以在基类中定义虚函数返回具体的类型信息。
(2)所有的派生类都必须实现类型相关的虚函数。
(3)每个类中的类型虚函数都需要不同的实现。
117.使用虚函数进行动态类型识别的缺陷:
(1)必须从基类开始提供类型虚函数。
(2)所有的派生类都必须重写类型虚函数。
(3)每个派生类的类型ID必须唯一。
利用虚函数进行动态类型识别的方法可以满足工程的需要,但是维护性会随着派生类的增多而呈指数级增加。