作者:菁菁da小姐认_194 | 来源:互联网 | 2023-01-25 17:02
9.30.cpp编写程序研究标准库为vector对象提供的内存分配策略#include<iostream>#include<vector>usingnamespace
//9.30.cpp
//编写程序研究标准库为vector对象提供的内存分配策略
#include
#include
using namespace std;
int main()
{
vector ivec;
//空vector容器的size为0,标准库中的capacity也为0
cout<<"ivec:size: "<<<" capacity: "<
//添加24个元素
for(vector::size_type ix=0;ix!=24;++ix)
{
ivec.push_back(ix);
//size应为24,容量>=24,具体由实现而定
cout<<"ivec.size: "<<<" capacity: "<}
//预留额外的存储空间
ivec.reserve(50);//设置容量至少为50,也可以更多
//size应为24;容量>=50,具体由实现而定
cout<<"ivec:size: "<<<" capacity: "<
//将预留的容量用完
while(ivec.size()!=ivec.capacity())
ivec.push_back(0);
//size应为50;容量不变
cout<<"ivec:size: "<<<" capacity: "<
//继续添加新元素,vector必须为自己从新分配存储空间
ivec.push_back(42);
//size应为51;容量将大于等于51,具体右实现而定
cout<<"ivec:size:"<<<" capacity: "<
return 0;
}