std vector 用法各种
时间: 2023-12-31 08:24:50 浏览: 30
以下是std vector的一些常见用法示例:
1. 初始化一个空的vector:
```cpp
std::vector<int> nVec;```
2. 创建一个包含5个元素且值为-1的vector:
```cpp
std::vector<int> nVec(5, -1);
```
3. 列表初始化一个vector:
```cpp
std::vector<std::string> strVec{"a", "b", "c"};
```
4. 向vector中添加元素:
```cpp
std::vector<int> nVec;
for (int i = 0; i < 5; i++) {
nVec.push_back(i);
}
```
5. 使用迭代器访问vector中的元素:
```cpp
std::vector<int>::iterator itr = nVec.begin();
for (; itr != nVec.end(); ++itr) {
std::cout << (*itr) << std::endl;
}
```
相关问题
std vector
std::vector 是 C++ 标准库中的一个容器类,用于存储和管理动态数组。它提供了一系列方法来操作数组,比如插入、删除、访问元素等。
您可以通过 #include <vector> 来引入 vector 头文件,并使用 std::vector<T> 来声明一个 vector 对象,其中 T 是要存储的元素类型。
以下是一些常用的 vector 操作示例:
1. 创建一个空的 vector:
std::vector<int> vec;
2. 在末尾插入元素:
vec.push_back(10);
vec.push_back(20);
vec.push_back(30);
3. 访问元素:
int element = vec[0]; // 获取第一个元素 int size = vec.size(); // 获取 vector 的大小4. 遍历 vector:
for (int i =0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
5. 删除元素:
vec.pop_back(); // 删除末尾元素6. 清空 vector:
vec.clear();
通过使用 std::vector,您可以方便地进行动态数组的操作和管理。希望这能回答您的问题!如果您有任何其他问题,请随时提问。
std::vector使用方法
`std::vector` 是 C++ STL 中的一个容器,用于存储动态数组。它可以自动扩容和缩容,可以在数组的任何位置插入或删除元素。以下是使用 `std::vector` 的一些常见方法:
1. 创建向量
可以使用以下语法创建一个空向量:
```
std::vector<int> vec;
```
也可以使用以下语法创建一个具有初始大小和值的向量:
```
std::vector<int> vec(5, 0); // 创建大小为5的向量,并将每个元素初始化为0
```
2. 访问向量元素
可以使用下标运算符 `[]` 或 `at()` 方法访问向量中的元素。例如:
```
std::vector<int> vec = {1, 2, 3, 4, 5};
int x = vec[2]; // x 等于 3
int y = vec.at(4); // y 等于 5
```
注意,使用 `at()` 方法访问不存在的元素会抛出 `std::out_of_range` 异常。
3. 向向量中添加元素
可以使用 `push_back()` 方法将元素添加到向量的末尾:
```
std::vector<int> vec = {1, 2, 3};
vec.push_back(4);
```
也可以使用 `insert()` 方法在向量的任意位置添加元素:
```
std::vector<int> vec = {1, 2, 3};
auto it = vec.begin() + 1;
vec.insert(it, 4);
```
注意,`insert()` 方法需要传入一个迭代器,指定插入的位置。
4. 从向量中删除元素
可以使用 `pop_back()` 方法从向量的末尾删除元素:
```
std::vector<int> vec = {1, 2, 3};
vec.pop_back();
```
也可以使用 `erase()` 方法从向量的任意位置删除元素:
```
std::vector<int> vec = {1, 2, 3};
auto it = vec.begin() + 1;
vec.erase(it);
```
注意,`erase()` 方法需要传入一个迭代器,指定删除的位置。
5. 获取向量大小和容量
可以使用 `size()` 方法获取向量中元素的数量:
```
std::vector<int> vec = {1, 2, 3};
int n = vec.size(); // n 等于 3
```
可以使用 `capacity()` 方法获取向量的容量:
```
std::vector<int> vec = {1, 2, 3};
int m = vec.capacity(); // m 大于等于 3
```
注意,向量的容量可能会大于元素的数量,因为它预留了一些额外的空间以便于扩容。