如下代码:
string sa[6]={"a1","b2","c3","d4","e5","f6"};
vector<string> svec(sa,&sa[6]);//赋值
cout<<"The value of sa[3]= "<<sa[3]<<endl;//True
cout<<"The value of svec[3]="<<svec[3]<<endl;//Error!!
我看了很久没有发现这个错误的根源是什么。难道vector没有索引操作符?
后面一想,不对啊,vector作为顺序容器,应该具备与string对象的一些基本操作符。
后面一查,原来在vector里面的索引值必须是size_t类型,修改程序如下,即可运行!
size_t index=3;
cout<<"The value of svec[3]="<<svec[index]<<endl;//True!!
所以大家在以后的操作中一定要小心小心再小心,不要像我这样。