vector的相关方法 如果获取元素
时间: 2023-12-23 11:05:31 浏览: 29
要获取 vector 中的元素,可以使用以下方法:
1. 使用下标操作符 []:可以通过索引值来获取 vector 中的元素,例如 `myVector[0]` 表示获取 vector 中的第一个元素。
2. 使用 at() 方法:可以通过索引值来获取 vector 中的元素,例如 `myVector.at(0)` 表示获取 vector 中的第一个元素。
3. 使用迭代器:可以使用迭代器来遍历 vector 中的元素,例如:
```
for (vector<int>::iterator it = myVector.begin(); it != myVector.end(); ++it) {
int element = *it;
}
```
以上三种方法都可以用来获取 vector 中的元素,其中下标操作符 [] 和 at() 方法比较常用。需要注意的是,当访问 vector 中不存在的元素时,使用下标操作符 [] 会出现越界错误,而使用 at() 方法会抛出 std::out_of_range 异常。
相关问题
vector如何获取元素个数
在C++中,可以使用vector的size()函数来获取其元素的个数,例如:
```
vector<int> vec = {1, 2, 3, 4, 5};
int size = vec.size(); // 获取vec中元素的个数,即5
```
同样地,对于存储Rect或Rect2d类型的vector,也可以使用size()函数来获取其中元素的个数,例如:
```
vector<Rect> rects = {Rect(0, 0, 100, 100), Rect(100, 100, 200, 200)};
int size = rects.size(); // 获取rects中元素的个数,即2
```
需要注意的是,size()函数返回的是无符号整型数,如果vector为空,那么size()函数返回的值为0。
vector 获取指定下标的元素
要获取 vector 中指定下标的元素,可以使用下标运算符 `[]`,例如:
```c++
vector<int> v = {1, 2, 3};
int third_element = v[2];
```
这样,变量 `third_element` 就会被赋值为 3,因为下标是从 0 开始的,所以 `v[2]` 表示的是第三个元素。
需要注意的是,如果使用下标运算符获取一个超出 vector 范围的下标,就会导致程序崩溃。为了避免这种情况,可以使用 vector 的 `at()` 函数,例如:
```c++
vector<int> v = {1, 2, 3};
// 这里使用 at() 函数获取第四个元素,会导致程序崩溃
int fourth_element = v.at(3);
// 可以使用 size() 函数判断下标是否越界
if (3 < v.size()) {
int fourth_element = v[3];
} else {
cout << "vector index out of range" << endl;
}
```
这样,如果下标超出了 vector 的范围,就会输出一条错误信息,而不是崩溃。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)