c++中vector的at函数是怎么使用啊 ?代表什么值啊?
4个回答
展开全部
at函数和[]函数使用可以说是一模一样. 都是为了访问对应index中存储的数据, 如果index大于vector的size. 两者都是抛出out_of_range的exception.
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
vector<int> myvector(10); // 10 zero-initialized ints
// assign some values:
for (size_t i = 0; i < myvector.size(); i++)
myvector.at(i) = i;
for (size_t i = 0; i < myvector.size(); i++)
cout << myvector.at(i) << ' ' << myvector[i] << endl;
//cout << myvector.at(20); // out_of_range_exception
return 0;
}
追问
可是这个vector里面的size的值是事先知道的么?有的是不知道的额啊
追答
size可以通过size()函数获得. 例如myvector.size()返回一个int.
对vector进行的操作要有意识, 里面加了数据, 删了数据. !! 每次访问前要检查 !!.
编程的时候. 除非必须, 尽量避免直接写一个数字上去. 例如避免 v[20]. 因为很可能会出现异常.
展开全部
vector::at(x)返回x位置的数据。
和【x】不一样,这个函数有可能抛出out_of_range错误。
和【x】不一样,这个函数有可能抛出out_of_range错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
XXX.at(idx);
传回索引idx所指的数据,如果idx越界,抛出out_of_range。
传回索引idx所指的数据,如果idx越界,抛出out_of_range。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询