从C语言到C++/STL(二):vector动态数组

如题所述

vector动态数组是C++标准模板库中的一种容器,它提供了动态数组的替代方式,支持可变长度和便捷的修改操作。以下是关于vector动态数组的详细解答:

    基本用法

      包含头文件:在代码中首先需要包含<vector>头文件。声明vector:通过vector<int> a;声明一个int类型的vector。初始化
        不指定长度:如上所示,直接声明即可。指定长度:使用vector<int> a;初始化一个长度为5的vector。初始化列表:通过vector<int> a{1, 2, 3};同时定义长度和元素。

    高级用法

      数组拷贝:如vector<int> b = a;,可以实现vector的拷贝。二维数组
        第一维固定,第二维可变。行列均可变。固定行列。
      成员函数
        a.clear:清空vector,只改变size,不释放内存。a.shrink_to_fit:缩小capacity以匹配size。a.resize:调整vector的元素数量。a.insert:在指定位置插入元素。

    元素访问

      下标法:通过下标直接访问vector中的元素,如a[0]。迭代器:使用迭代器进行更灵活的操作,如遍历vector。例如,auto it = vi.begin;获取vector的迭代器,然后可以使用++it进行遍历。auto关键字:在C++11及以后版本中,可以使用auto关键字简化代码,如auto element = a[0];。

    排序

      使用STL中的sort函数对vector进行排序,调用方式为sort, a.end);。

总的来说,vector为动态数组的使用提供了极大的便利,是C++编程中不可或缺的一部分。

温馨提示:答案为网友推荐,仅供参考
相似回答