stl::(2)vector container API

vector constructor

vector<T> v;                  // 采用模板实现类实现,默认构造函数
vector(v.begin(), v.end);    // 将v[begin(),end())区间的元数拷贝给本身
vector(n, elen);             // 构造函数将n个elem拷贝给本身
vector(const vector &vec);   // 拷贝构造函数
// 例子,第二个函数可以这样做。。。
int arr[]={
    
    2,3,4,5};
vector<int> vl(arr, arr+sizeof(arr)/sizeof(int));   

vector common assignment operations

assign(beg, end);     // 将[beg,end)区间中的数据拷贝赋值给本身
assign(n,  elem);      // 将n个elem拷贝赋值给本身
vector operator=(const vector &vec);   // 重载操作符
swap(vec);                // 将vec与本身的元数互换
// swap收缩空间
v.resize(size);
v.swap(size);

vector size operation

size();                // 返回容器中的元素个数
empty(;              // 判断是否为空
resize(int num);      // 重新制定容器长度为num,若容器变长,则用默认值填充新位。若变短,则末尾超出元素被删除
capacity();            // 容器容量
reserve();             // 容器预留len个元素长度,预留位置不初始化,元素不可访问

vector data access operation

at(int index);    // 返回索引index所在的数值,越界抛out_of_range异常
operator[];       // 返回索引idx所指的数据,越界时直接报错
front();             // 返回第一个数据元素
back();              // 返回最后一个数据元素

vector insertion and deletion operations

insert(const_iterator pos, int count, ele);    // 迭代器指向位置pos插入count个ele
push_back(ele);          // 尾部插入数据ele  
pop_back();                // 删除最后一个元素
erase(const_iterator start, const_iterator end); // 删除迭代器start-end之间的元素
erase(const_iterator pos); // 删除迭代器指向的元素
clear()// 删除全部元素 

Guess you like

Origin blog.csdn.net/qq_40329851/article/details/114379074