#include 用法之我见
作为一个C++程序员,在处理动态数组时,使用STL中的std::vector
是一种比较常见的选择。在这篇文章中,我们将探讨<vector>
头文件中vector的基本用法以及一些高级技巧。
概览
在使用std::vector之前,需要包含头文件<vector>
.
#include <vector>
一个vector就像一个数组,但在很多方面比数组更加方便,因为它可以动态调整尺寸。 在vector上可以执行类似数组的操作,例如访问、遍历和排序。此外,还有一些独有的操作符和函数。
基本用法
创建一个vector
通常会使用vector的默认构造函数来创建新vector,如下所示:
std::vector<int> v; // 创建 int 类型的一个空vector
此时,v
是一个空的vector,尺寸为0。
向vector中添加元素
可以使用push_back
函数将元素添加到vector中:
v.push_back(5); // 添加5到 vector 中
现在,v
为:
[5]
可以多次使用push_back
向vector添加更多元素。
访问vector中的元素
vector是通过下标进行访问的,与数组类似:
int x = v[0]; // 获取第一个元素
vector还提供了一个以类似于指针的方式访问元素的方法:
int y = *(v.begin()); // 获取第一个元素
遍历vector
可以使用for
循环来遍历vector中的所有元素:
for (int i = 0; i < v.size(); ++i) {
std::cout << v[i] << " "; // 打印v的每个元素
}
也可以使用迭代器来遍历vector:
for (auto it = v.begin(); it != v.end(); ++it) {
std::cout << *it << " "; // 打印v的每个元素
}
删除vector中的元素
可以使用erase
函数来删除vector中的元素:
v.erase(v.begin() + 1); // 移除 v 的第二个元素
清空vector
可以使用clear
函数将vector清空:
v.clear(); // 清空v
高级技巧
判空
可以使用empty
函数来判断vector是否为空:
if (v.empty()) {
std::cout << "v为空" << std::endl;
}
vector的大小
可以使用size
函数获取vector中元素的数量:
int n = v.size(); // 获取v中的元素个数
与其他vector的操作
可以使用+
运算符将两个vector连接在一起:
std::vector<int> v1{1, 2, 3};
std::vector<int> v2{4, 5, 6};
std::vector<int> v3 = v1 + v2; // v3 是 [1, 2, 3, 4, 5, 6]
以多种方式初始化vector
可以有许多不同的方式初始化vector,例如:
使用默认值初始化 (对于对象而言):
std::vector<int> v1(10); // 创建一个长度为10的vector,每个元素都是默认的 int 类型值(即0)
使用重复值初始化:
std::vector<int> v2(10, 5); // 创建一个长度为10的vector,每个元素都是值为5的 int 类型
使用迭代器初始化:
int arr[] = {1, 2, 3, 4};
std::vector<int> v3(arr, arr + sizeof(arr) / sizeof(int)); // 使用数组arr中的数据初始化vector
结论
在本文中,我们探讨了C++ STL <vector>
的常见用法,包括基本用法和高级技巧。一旦攻克了这些用法,您就可以更有效地利用 vector 的优势来解决问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:#include