一、vector为什么叫单端序列容器
申明存储空间之后,第一个元素的地址一直是恒定的,添加元素是只能向后生长,push_front()操作需要将所有的元素向后移动一片空间。
vector被定义之后一般会有一个预定的空间capacity(),空间不够的时候才会去申请新的空间
二、deque为什么叫双端序列容器、
deque在定义存储空间之后,没有预设的空间大小,是在元素添加的时候实时扩充空间的,所以没有capacity()函数;
至于叫双端的是因为deque在执行push_front()的时候,确实是在第一个元素的前面开辟了空间,没有移动任何元素,所以是双端的,这种方式在首端和尾端插入元素是非常快的。