STL的学习笔记之一

    技术2022-05-11  147

    以下是我在自学STL的一点笔记,参考书籍《标准C++宝典》。大家如果谁也对最新的C++标准有兴趣的话,想聊一聊,我的E-MAIL:  tlovexyj@21cn.com

    #include <vector>using namespace std;向量类模板 vector

    1.特点  优点: 随机访问、动态改变自身大小、快速地在序列尾部插入和删除元素  缺点: 在除头尾其它位置插入和删除元素效率降低(因为要移动元素以容纳新元素或回收被删除的空间)

    2.声明  vector <数据类型> 对象名(大小, 初始值)      例:            vector <int> iVector(100, 0);  //大小为100,类型为int,初始所有值为0.

    3.访问  通过指示器 iterator(相当于C++里的指针)来操作.  声明    vector <数据类型>::iterator 对象名      例:           vector <int>::iterator iter;      4.访问  遍历:    for (iter=iVector.begin(); iter<iVector.end(); iter++);      //*iter即为向量iVector里各项的值  取随机值    iVector.at(下标);    5.插入元素(以下介绍都是vector类的成员函数)    push_back(元素) //在尾部插入      例:           iVector.push_back(3);        insert(iterator指针, 元素) //随机插入, iterator用来标明操作的位置      例:           vector <int>::iterator start;          iVector.insert(start, 1);          insert(iterator指针, 个数, 元素) //把元素的n份拷贝到向量中指针所指定的位置      例:          vector <int>::iterator start;          iVector.insert(start, 5, 1);          insert(iterator指针, iterator指针开始, iterator指针结尾) //将操作的范围内的值插入到指定位置      例:          vector <int>::iterator i, start, end;          i    =iVector.begin();          start=iVector.begin()+2;          end  =iVector.end()-3;          iVector.insert(i, start, end);  6.删除元素(以下介绍都是vector类的成员函数)    pop_back() //在尾部删除      例:           iVector.push_back();      erase(iterator指针) //随机删除  erase(iterator指针开始, iterator指针结尾)//删除范围内的值


    最新回复(0)