构造函数 //empty vector vector<int> vec; //8 items with the value 100 vector<int> vec1(8, 100); //using the iterator vector<int> vec2(vec1.begin(),vec1.end()); //a copy of another vector vector<int> vec3(vec2); //3 items with defalult value 0 vector<int> vec4(3); 常用函数 Vec.push_back() 尾部添加一个元素 Vec.pop_back() 尾部删除一个元素 Vec.size() 存储实际大小 Vec.capacity() 分配内存大小(一般指数级增长) Vec.max_size() 可以存储的最大空间 Vec.insert() 插入元素(运用iterator) Vec.erase() 删除元素(运用iterator) Vec.front() 返回首元素的引用 Vec.back() 返回尾部元素的引用 Vec.empty() 判断是否为空 Vec.begin() 首位的指针 Vec.end() 尾部下一位的指针 Vec.resize() 重新分配实际存储大小(实际改变) Vec.reserve() 重新分配存储空间大小(若大小小于实际存储空间,则拒绝,即不会改变实际存储位置) Vec.swap() 交换两个vector Vec.clear() Size变为0,但capacity不变,若要清空capacity则用swap()使用技巧 使用reserve()函数提前设定容量大小,避免多次容量扩充操作导致效率低下;使用“交换技巧”来修整vector过剩空间/内存 如:vector(ivec).swap(ivec) 用swap方法强行释放STL Vector所占内存 vector().swap(vec)