vector的at操作符


#include <vector>
#include <iostream>

int main( )
{
   using namespace std;
   vector <int> v1;

   v1.push_back( 10 );
   v1.push_back( 20 );

   const int &i = v1.at( 0 );
   int &j = v1.at( 1 );
   cout << "The first element is " << i << endl;
   cout << "The second element is " << j << endl;
}

利用at函数获取下标,是一种安全的防止下标越界的操作。
赋值操作时,可以赋值给取值变量(&),const变量,也可以直接赋值给一个普通变量,
根据具体需求来决定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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()函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值