1.vector的底层原理:
vector的底层实现是三个指针:
struct _Vector_impl : public _Tp_alloc_type {
pointer _M_start;
pointer _M_finish;
pointer _M_end_of_storage;
};
start 和 finish 之间是已经被使用的空间范围(即 vector.size() 的大小),
start 和 end_of_stroage 之间是vector底层数组的整个空间(即 vector.capacity() 的大小)。
所以 vector 这个类本身并不存储数据的内容,通过指针