
C++ Vector使用示例代码分析
下载需积分: 50 | 943B |
更新于2024-11-22
| 165 浏览量 | 举报
收藏
在C++编程语言中,vector是一个能够存放任意类型的动态数组,属于标准模板库(Standard Template Library,简称STL)中的一个容器。它能够存储连续的内存空间,允许在运行时动态的增加或减少元素的数量。vector由于其灵活性和方便性,在日常编程中被广泛使用。本示例将展示如何使用vector容器,包括创建、添加元素、遍历、删除元素以及如何使用其成员函数来管理数据。
### 1. vector的创建和初始化
在C++中,可以使用多种方式创建和初始化vector对象:
- 默认构造函数创建一个空的vector。
- 使用花括号初始化列表初始化vector。
- 通过拷贝已有的vector来创建新的vector。
- 使用迭代器范围构造vector。
示例代码如下:
```cpp
#include <iostream>
#include <vector>
int main() {
// 使用默认构造函数
std::vector<int> vec;
// 使用花括号初始化列表
std::vector<int> vec_init{1, 2, 3, 4, 5};
// 拷贝构造函数
std::vector<int> vec_copy(vec_init);
// 使用迭代器范围构造vector
std::vector<int> vec_range(vec.begin(), vec.begin() + 3);
return 0;
}
```
### 2. 添加元素
vector提供多种方式添加元素:
- 使用`push_back()`成员函数在vector末尾添加元素。
- 使用`insert()`成员函数在指定位置插入元素。
- 使用`resize()`成员函数改变vector大小,若新大小大于原大小,则在末尾添加新元素。
示例代码如下:
```cpp
// 继续main函数
vec.push_back(6); // 在末尾添加元素6
vec.insert(vec.begin(), 0); // 在开始位置插入元素0
// 调整vector大小,并在末尾添加元素7和8
vec.resize(vec.size() + 2, 7);
vec.resize(10, 8); // 新大小为10,多出位置用8填充
return 0;
```
### 3. 遍历vector
遍历vector中的元素可以使用多种方法:
- 使用基于索引的循环。
- 使用范围for循环。
- 使用迭代器。
示例代码如下:
```cpp
// 继续main函数
// 使用索引遍历
for(int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << ' ';
}
// 使用范围for循环遍历
for(auto& elem : vec) {
std::cout << elem << ' ';
}
// 使用迭代器遍历
for(auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << ' ';
}
return 0;
```
### 4. 删除元素
vector提供了几种删除元素的方法:
- 使用`pop_back()`成员函数移除vector的最后一个元素。
- 使用`erase()`成员函数移除指定位置的元素或指定范围内的元素。
- 使用`clear()`成员函数清除所有元素。
示例代码如下:
```cpp
// 继续main函数
vec.pop_back(); // 移除最后一个元素
// 使用erase删除元素,删除begin()到begin()+2范围内的元素
vec.erase(vec.begin(), vec.begin() + 2);
// 清除所有元素
vec.clear();
return 0;
```
### 5. 其他常用操作
vector提供很多其他有用的成员函数,例如:
- `size()`返回vector中的元素数量。
- `capacity()`返回vector的容量,即不进行内存重新分配的情况下vector所能容纳的元素的最大数量。
- `empty()`检查vector是否为空。
- `reserve()`请求vector容量至少能容纳指定数量的元素。
示例代码如下:
```cpp
// 继续main函数
int sz = vec.size(); // 获取元素数量
int cap = vec.capacity(); // 获取vector容量
bool is_empty = vec.empty(); // 检查vector是否为空
// 增加vector的容量为100
vec.reserve(100);
return 0;
```
### 结语
在C++中,vector是一个功能强大的容器,通过掌握其提供的各种操作,可以有效地进行数据的存储和管理。上述示例代码仅展示了部分常用操作,更多的细节和高级用法可在实际编程中进一步探索和应用。希望本示例能够帮助读者更好地理解和使用C++中的vector容器。
相关推荐










weixin_38635996
- 粉丝: 3
最新资源
- 掌握软件开发文档编写技巧
- C8051F060单片机实现的PID温度控制系统
- C#与Access构建的图书馆管理系统完整文档
- Oracle官方SQL参考手册CHM电子书合集
- C#实现身份证号码验证功能的完整源码
- 笔记本通用型电池放电软件操作指南
- C#.NET结合MapX实现高级GIS系统功能
- 全面解析Win32 API及其应用指南
- 在RAID 5配置中添加硬盘的详细步骤
- 新浪网五屏Flash翻牌广告实现技术解析
- Symbian平台下的经典游戏:泡泡龙
- Visual C++6.0人事管理系统开发实例及源代码
- Java读写XML文件技术解析:Dom4j使用指南
- 幕墙设计标准查询系统:全面的国家标准与行业规范
- 实现网站桌面式滑动效果的CSS+JavaScript技巧
- ASP.NET+SQL实现网上购物商城完整论文源码
- 使用VC++开发的简易QQ程序实现与解析
- Vista小工具编程指南:Sideshow与Sidebar开发教程
- Linux下的GeoIP C API使用与安装教程
- C#插件开发实战教程与案例分析
- C#实现类似IE地址栏功能的comboBox控件技巧
- DirectDraw中文版手册:翻译与新增内容介绍
- Java算法与数据库面试题解析
- 网页实现动态图片左右滚动效果的技术解析