std::vector at的用法
时间: 2024-06-11 18:02:35 浏览: 51
std::vector 中的at()函数是一个库函数,它主要用于访问指定位置的元素。该函数接受一个位置/索引作为参数,并返回对指定位置/索引处元素的引用。
以下是关于std::vector at的详细用法:
1. **基本语法**
- **函数原型**:reference at( size_type pos );
- **参数**:pos (位置/索引):要访问的元素的位置。
- **返回值**:reference (引用):它返回对位置元素的引用 n。
2. **功能描述**
- at()函数的主要作用是访问指定位置的元素。如果给定的位置在矢量范围内,它将返回该位置的元素;否则,它将抛出一个out_of_range异常。
3. **优点**
- at()函数会额外检查访问是否越界,因此可以避免因数组越界而导致的程序崩溃。
4. **缺点**
- 由于进行了额外的边界检查,使用at()函数的程序运行速度可能会比直接使用[]操作符慢。
5. **适用场景**
- 当需要确保代码的安全性,避免数组越界错误时,推荐使用at()函数。
- 当程序的效率要求较高,且可以确保索引不会越界时,可以使用[]操作符。
6. **示例代码**
- ```c++
vector<int> vec = {1, 2, 3, 4, 5};
cout << vec.at(0) << endl; // 输出:1
cout << vec.at(1) << endl; // 输出:2
```
在使用std::vector at时,需要注意以下几点:
- 确保索引值在有效范围内,否则at()函数会抛出out_of_range异常。
- 如果对程序的效率有较高要求,并且可以确保索引不会越界,可以考虑使用[]操作符。
- 如果不确定索引是否会越界,或者希望在出错时能够捕获并处理异常,那么应该使用at()函数。
阅读全文