vector.at用法
时间: 2023-06-03 13:03:04 浏览: 84
vector.at是C++中vector容器的一个成员函数,可以通过索引访问vector中的元素,并且会进行边界检查。如果索引超出范围,会抛出一个std::out_of_range异常。示例代码如下:
```cpp
#include <vector>
#include <iostream>
int main()
{
std::vector<int> vec = {1, 2, 3, 4};
// 访问第二个元素
std::cout << vec.at(1) << std::endl;
// 访问越界元素
try
{
std::cout << vec.at(5) << std::endl;
}
catch (const std::out_of_range& e)
{
std::cout << "抛出了异常:" << e.what() << std::endl;
}
return 0;
}
```
输出:
```
2
抛出了异常:vector::_M_range_check
```
相关问题
vector.at 二维数组用法
vector.at 二维数组用法可以通过以下方式实现:
```
vector<vector<int>> arr;
// 初始化二维数组
for(int i = 0; i < n; i++){
vector<int> row;
for(int j = 0; j < m; j++){
row.push_back(0);
}
arr.push_back(row);
}
// 访问二维数组第 i 行 j 列元素
int ans = arr.at(i).at(j);
```
vector.find用法
`vector.find()`是C++标准库中的一个函数,它用于在一个已排序的`std::vector`容器中查找指定元素。这个函数返回的是迭代器,指向第一个找到的匹配项的起始位置。如果容器中不存在该元素,返回的迭代器将指向容器结束后的下一个位置,即`end()`。
基本语法如下:
```cpp
iterator find(const Key& value);
```
其中,`Key`是你想要查找的对象类型,`value`是你要搜索的目标值,`iterator`是对应的容器类型的迭代器。
例如,在一个整数向量`vectors<int>`中查找特定整数`x`:
```cpp
std::vector<int> vec = {10, 20, 30, 40, 50};
auto it = vec.find(30); // 如果30存在,it将是vec.begin() + 2
if (it != vec.end()) {
std::cout << "Found at position: " << distance(vec.begin(), it) << std::endl;
} else {
std::cout << "Element not found." << std::endl;
}
```
阅读全文