首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

询问一个关于vector中capacity()和size()的有关问题

2012-09-04 
询问一个关于vector中capacity()和size()的问题int main(){int inp 0vectorint acoutvec size:

询问一个关于vector中capacity()和size()的问题
int main()
{
int inp =0;
vector<int> a;
cout<<"vec size: "<<a.size()<<endl;
cout<<"vec capacity: "<<a.capacity()<<endl;
while (inp != 10)
{
a.push_back(inp);
inp++;
}
  cout<<"vec size: "<<a.size()<<endl;
cout<<"vec capacity: "<<a.capacity()<<endl;
a.reserve(20);
cout<<"After set reserve:"<<endl;
cout<<"vec size: "<<a.size()<<endl;
cout<<"vec capacity: "<<a.capacity()<<endl;

getchar();
getchar();
return 0;
}
结果为:

vec size: 0
vec capacity: 0
vec size: 10
vec capacity: 13
After set reserve:
vec size: 10
vec capacity: 20
但是如果我把while (inp != 10)改成while(cin>>inp, inp!=10) 然后输入1 3 4 10回车后结果为:
vec size: 0
vec capacity: 0
vec size: 3
vec capacity: 3
After set reserve:
vec size: 3
vec capacity: 20求各位牛人解释~~

[解决办法]
STL都是有源代码的,你完全可以跟踪一下

热点排行