一、STL篇
1.vector动态数组
动态数组的方法
可以使用下表[]访问~ 当越界时会报错
2、stack栈
特点:先进后出 (子弹匣)
栈的方法函数
3、queue队列
队列特点:先进先出 (排队)
队列的方法函数
4、dequeue双端队列
特点:头和尾都能插入
5、map映射
特点相当于函数中的一一映射对应关系
map特性:map会按照键的顺序从小到大自动排序,键的类型必须可以比较大小
6、set集合
set容器中的元素不会重复,当插入集合中已有的元素时,并不会插入进去,而且set容器里的元素自动从小到大排序。
7、array数组
array是C++11新增的容器,效率与普通数据相差无几,比vector效率要高,自身添加了一些成员函数。
和其它容器不同,array 容器的大小是固定的,无法动态的扩展或收缩,只允许访问或者替换存储的元素。
二、面向对象篇
C++面向对象的三大特性为:封装、继承、多态
1、封装是C++面向对象三大特性之一,封装的意义:
将属性和行为作为一个整体,表现生活中的事物
将属性和行为加以权限控制
2、继承是面向对象三大特性之一
我们可以考虑利用继承的技术,减少重复代码
总结:继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反
3、多态是C++面向对象三大特性之一
多态分为两类
静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名
动态多态: 派生类和虚函数实现运行时多态