c++ vector访问元素
时间: 2023-10-14 16:22:54 浏览: 38
C++ 中的 vector 可以通过索引访问元素,索引从 0 开始。例如,访问 vector 的第一个元素可以使用下标运算符 [],如下所示:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec {1, 2, 3, 4, 5};
std::cout << "The first element is: " << vec[0] << std::endl;
return 0;
}
```
输出结果为:
```
The first element is: 1
```
还可以使用 at() 成员函数来访问 vector 的元素,这个函数会进行边界检查,如果索引超出了 vector 的范围,就会抛出一个 std::out_of_range 异常。例如:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec {1, 2, 3, 4, 5};
std::cout << "The third element is: " << vec.at(2) << std::endl;
return 0;
}
```
输出结果为:
```
The third element is: 3
```
相关问题
c++ vector添加元素
在C++中,vector是一个动态数组容器,可以方便地添加、删除和访问元素。要向vector添加元素,可以使用push_back()函数或者insert()函数。
1. 使用push_back()函数:
push_back()函数用于在vector的末尾添加一个元素。例如,如果我们有一个名为vec的vector,并且要向其中添加一个整数元素10,可以使用以下代码:
```
vec.push_back(10);
```
2. 使用insert()函数:
insert()函数用于在vector的指定位置插入一个元素。它接受两个参数,第一个参数是要插入的位置的迭代器,第二个参数是要插入的元素的值。例如,如果我们有一个名为vec的vector,并且要在索引位置2处插入一个整数元素20,可以使用以下代码:
```
vec.insert(vec.begin() + 2, 20);
```
请注意,以上代码中的vec.begin()返回一个指向vector第一个元素的迭代器,加上偏移量2后即为要插入的位置。
c++ vector 删除元素
在C++中,vector是一个动态数组容器,可以方便地进行元素的插入、删除和访问操作。要删除vector中的元素,可以使用erase()函数或者使用pop_back()函数。
1. 使用erase()函数删除指定位置的元素:
vector提供了erase()函数,可以删除指定位置的元素。该函数接受一个迭代器参数,指向要删除的元素位置。删除后,后面的元素会自动向前移动填补空缺。
例如,要删除vector中的第三个元素,可以使用以下代码:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 使用pop_back()函数删除最后一个元素:
pop_back()函数用于删除vector中的最后一个元素。该函数不接受任何参数,直接将最后一个元素删除。
例如,要删除vector中的最后一个元素,可以使用以下代码:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.pop_back(); // 删除最后一个元素
```
需要注意的是,使用erase()函数删除元素时,要确保传入的迭代器指向有效的元素位置,否则可能会导致未定义行为。此外,删除元素后,vector的大小会相应减小。