1 使用索引访问vector中的对象
1.1 索引值在合理范围之内
可以使用索引访问vector中的对象,需要注意的是此时的索引变量的类型是相应的size_type。
vector<int> vec1 = { 1,2,3,4,5 };
vector<int>::size_type st = 2;
cout << vec1[st];
其中,vec1是一个有5个int元素的vector,st是vector<int>::size_type类型的变量,用来表示vec1的索引,此时的输出是3。
1.2 索引值在合理范围之外
当st的值设置为
vector<int>::size_type st = 5;
此时,vec1[st]超出了vec1的范围,程序在编译的时候不会报错,但是在运行的时候会报错,如图1所示。
图1 程序运行报错
2 为vector添加元素
在“1 使用索引访问vector中的对象”中提到,当索引值超出合理范围,程序在运行时会报错。也就是说,使用索引不能为vector添加元素。可以使用push_back()函数为vector在尾部添加元素。上述出错的代码中,在输出vec1[st]之前添加如下代码
vec1.push_back(6);
表示在vec1的尾部添加了一个元素,该元素的值是6,此时vec1中的元素个数变为6个。此时vec1[st]的值变为6。