最全Vector用法总结.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《最全Vector用法总结》 C++标准库中的`std::vector`是一个高效且功能丰富的动态数组,它弥补了内置数组在灵活性上的不足。`std::vector`提供了多种操作来方便地管理内存和元素,使得它成为C++中常用的容器之一。下面将详细介绍`std::vector`的主要用法。 引入`std::vector`需要包含`<vector>`头文件。`vector`是一个模板类,可以用来存储任意类型的元素,例如`vector<int>`表示存储整数的向量,`vector<string>`则表示存储字符串的向量。其存储空间是连续的,而`list`则采用双向链表结构,元素非连续存储。 **定义与初始化**: 1. 默认初始化:`vector<typeName> v1;`,此时v1为空,不能直接对v1[0]赋值。 2. 拷贝初始化:`vector<typeName> v2(v1);` 或 `v2 = v1;` 或 `vector<typeName> v2(v1.begin(), v1.end());`,v2是v1的副本,如果v1.size()大于v2.size(),则v2会被扩充。 3. 填充初始化:`vector<typeName> v3(n, i);`,v3包含n个值为i的元素。 4. 数组初始化:`vector<int> v5(a, a+5);`,v5由数组a的前5个元素初始化。 **值初始化**: 1. 若未指定元素初始化方式,标准库会自动提供一个初始化值进行值初始化。 2. 存储类类型元素时,标准库会使用该类型的构造函数初始化。 3. 若无构造函数的类类型元素,标准库会创建一个带初始值的对象进行值初始化。 **主要操作**: 1. `push_back(t)`:在向量尾部添加元素t,增加容器大小。 2. `size()`:返回容器中元素的数量。 3. `resize(new_size)`或`resize(new_size, value)`:调整容器大小,若扩大,新元素初始化为value;若缩小,超出部分元素被销毁。 4. `empty()`:判断容器是否为空。 5. `operator[](n)`:返回下标为n的元素。 6. `insert(pointer, number, content)`:在pointer指向的位置插入number个content。 7. `pop_back()`:删除容器末尾的元素。 8. `erase(pointer1, pointer2)`:删除pointer1到pointer2(包括)之间的元素,后续元素前移。 9. `==`、`!=`、`<`、`<=`、`>`、`>=`:比较运算符,保持它们的常规含义。 10. `begin()`和`end()`:分别返回指向第一个元素和最后一个元素之后位置的迭代器。 11. `clear()`:删除容器中所有元素。 此外,`std::vector`还可以配合C++标准库中的算法,如`<algorithm>`中的`find()`、`search()`、`count()`、`find_if()`、`search_n()`等进行更复杂的操作,如查找、计数、替换等。`std::vector`还支持迭代器操作,可以方便地与其他容器或算法协同工作。 `std::vector`在C++编程中扮演着重要角色,提供了灵活、高效的动态数组功能,通过理解和熟练掌握其用法,可以大大提高代码的效率和可读性。在实际开发中,根据需求选择合适的容器和操作,是优化代码的关键。
- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 粉丝: 4
- 资源: 10万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- chromedriver-linux64_117.0.5878.0.zip
- chromedriver-linux64_117.0.5876.0.zip
- 计算机视觉领域中YOLOV5的Mosaic数据增强原理与应用
- chromedriver-linux64_117.0.5885.0.zip
- chromedriver-linux64_117.0.5883.0.zip
- chromedriver-linux64_117.0.5881.0.zip
- chromedriver-linux64_117.0.5886.0.zip
- chromedriver-linux64_117.0.5888.0.zip
- chromedriver-linux64_117.0.5887.0.zip
- chromedriver-linux64_117.0.5896.0.zip
- chromedriver-linux64_117.0.5897.0.zip
- chromedriver-linux64_117.0.5893.0.zip
- chromedriver-linux64_117.0.5898.0.zip
- chromedriver-linux64_117.0.5899.0.zip
- chromedriver-linux64_117.0.5897.3.zip
- 机械设计半自动灌装包装机step全套技术资料100%好用.zip