p119.cpp

来自「代码中包含了部分作者侯捷的<<STL源码剖析>>一书中的」· C++ 代码 · 共 74 行

CPP
74
字号
#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
	int i;
	vector<int>iv(2,9);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	iv.push_back(1);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	iv.push_back(2);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	iv.push_back(3);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	iv.push_back(4);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	for(i=0;i<iv.size();++i)
		cout<<iv[i]<<' ';
	cout<<endl;

	iv.push_back(5);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;
	
	for(i=0;i<iv.size();++i)
		cout<<iv[i]<<' ';
	cout<<endl;

	iv.pop_back();
	iv.pop_back();
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	iv.pop_back();
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	vector<int>::iterator ivite=find(iv.begin(),iv.end(),1);
	if(ivite!=iv.end())
		iv.erase(ivite);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;
	for(i=0;i<iv.size();++i)
		cout<<iv[i]<<' ';
	cout<<endl;

	ivite=find(iv.begin(),iv.end(),2);
	if(ivite!=iv.end())
		iv.insert(ivite,3,7);
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;
	for(i=0;i<iv.size();++i)
		cout<<iv[i]<<' ';
	cout<<endl;

	iv.clear();
	cout<<"size="<<iv.size()<<endl;
	cout<<"capacity="<<iv.capacity()<<endl;

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?