Access element :
Returns a reference to the element at position n in the vector.
The function automatically checks whether n is within the bounds of valid elements in the vector, throwing anout_of_range exception if it is not (i.e., if n is greater or equal than its size). This is in contrast with memberoperator[], that does not check against bounds.
翻譯:
XXX.at(index);
傳回索引 index 所指的資料,即為了通路對應index中存儲的資料,如果index越界,則抛出out_of_range。
// vector::at
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector1 (10); // 10 zero-initialized ints
std::vector<int>myvector2 (10);
// assign some values:
for (unsigned i=0; i<myvector1.size(); i++)
myvector1.at(i)=1;
std::cout << "myvector1 contains:";
for (unsigned i=0; i<myvector1.size(); i++)
std::cout << ' ' << myvector1.at(i);
std::cout << '\n';
//-------------------------------------------
for (unsigned i=0; i<myvector2.size(); i++)
myvector2.at(i)=i;
std::cout << "myvector2 contains:";
for (unsigned i=0; i<myvector2.size(); i++)
std::cout << ' ' << myvector2.at(i);
std::cout << '\n';
//下面的索引越界,導緻抛出 out_of_range_exception
std::cout<<"\n";
std::cout<< myvector1.at(20); // out_of_range_exception
return 0;
}