C++中vector的at函数是怎么使用啊 ?代表什么值啊??

 我来答
8826055
2015-09-27 · TA获得超过7510个赞
知道大有可为答主
回答量:1680
采纳率:81%
帮助的人:900万
展开全部

通常来说,假设v是一个vector对象,则v.at(n)和v[n]是一样的,只不过前者会检查是否越界(因此花费的时间稍多),而后者不会(后者越界会导致未定义行为)。


具体而言,vector<T>(T是某种类型)的at函数接受一个vector<T>::size_type类型的参数n(一种无符号整型类型),返回容器位置为n的元素的引用(注意第一个位置为0)。函数的时间复杂度为O(1),即常数时间。如果n越界,会抛出out_of_range异常。


样例:(摘自cplusplus.com)

// vector::at
#include <iostream>
#include <vector>

int main ()
{
  std::vector<int> myvector (10);   // 10 zero-initialized ints

  // assign some values:
  for (unsigned i=0; i<myvector.size(); i++)
    myvector.at(i)=i;

  std::cout << "myvector contains:";
  for (unsigned i=0; i<myvector.size(); i++)
    std::cout << ' ' << myvector.at(i);
  std::cout << '\n';

  return 0;
}
欢愉且刚强丶瑰宝1000
2015-08-26 · TA获得超过148个赞
知道小有建树答主
回答量:139
采纳率:66%
帮助的人:66.2万
展开全部
at函数和[]函数使用可以说是一模一样. 都是为了访问对应index中存储的数据, 如果index大于vector的size. 两者都是抛出out_of_range的exception. size可以通过size()函数获得.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超级春哥哥的
2019-07-22 · TA获得超过202个赞
知道答主
回答量:116
采纳率:100%
帮助的人:10.2万
展开全部
at配合try语句使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式