c++中vector的at函数
时间: 2023-11-20 22:59:00 浏览: 116
在C++中,vector的at()函数用于访问指定位置的元素,并进行边界检查。如果索引超出了vector的范围,则会抛出一个out_of_range异常。at()函数的语法如下:
```c++
reference at (size_type n);
const_reference at (size_type n) const;
```
其中,n是要访问的元素的索引,reference是元素的引用类型,const_reference是元素的常量引用类型。下面是一个使用at()函数的例子:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
try {
int n = vec.at(10);
cout << "The value at index 10 is: " << n << endl;
} catch (const out_of_range& e) {
cerr << "Out of Range error: " << e.what() << endl;
}
return 0;
}
```
上述代码中,我们尝试访问索引为10的元素,但是vector中只有5个元素,因此会抛出一个out_of_range异常。我们使用try-catch语句来捕获这个异常并输出错误信息。
相关问题
c++ vector at函数
C++中的vector是一个动态数组,可以通过at函数访问指定位置的元素。at函数的语法如下:
```c++
reference at (size_type n);
const_reference at (size_type n) const;
```
其中,第一个版本返回一个引用,可以用于修改元素值;第二个版本返回一个常量引用,不能用于修改元素值。如果n超出了vector的范围,则会抛出一个out_of_range异常。
例如,以下代码创建了一个包含5个整数的vector,并输出第3个元素的值:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v = {1, 2, 3, 4, 5};
cout << v.at(2) << endl; // 输出3
return 0;
}
```
C++中vector函数
在C++中,vector是一个动态数组容器,它提供了一系列的函数来方便地操作数组。下面是一些常用的vector函数介绍:
1. push_back(element):将元素element添加到vector的末尾。
2. pop_back():删除vector的最后一个元素。
3. size():返回vector中元素的个数。
4. empty():判断vector是否为空,如果为空则返回true,否则返回false。
5. clear():清空vector中的所有元素。
6. front():返回vector的第一个元素。
7. back():返回vector的最后一个元素。
8. at(index):返回指定索引位置index处的元素。
9. insert(iterator, element):在指定迭代器位置之前插入元素element。
10. erase(iterator):删除指定迭代器位置处的元素。
11. erase(start, end):删除从迭代器start到end之间的元素。
12. resize(newSize):改变vector的大小为newSize,如果newSize小于当前大小,则删除多余的元素;如果newSize大于当前大小,则在末尾添加默认构造的元素。
13. reserve(newCapacity):改变vector的容量为newCapacity,如果newCapacity小于当前容量,则不进行任何操作;如果newCapacity大于当前容量,则重新分配内存空间。
这些只是vector函数中的一部分,还有其他更多的函数可以用来满足不同的需求。
阅读全文