STL入门基础 理解vector容器

目录

vector容器的接口使用

vector容器的模拟实现


STL是C++标准库的重要组成部分,vector容器在实际中非常的重要,它常见的接口使用我们都要熟悉,这一篇肝一波vector容器常见的接口使用,帮助大家深入理解

vector容器的接口使用

vector容器的初始化

//构造函数初始化
void test_vector1()
{
  //存储int
  vector<int>v1;
  v1.push_back(1);
  v1.push_back(2);
 
  //存储double
  vector<double>v2;
  v2.push_back(1.1);
  v2.push_back(2.2);

  //存储string
  vector<string>v3;
  v3.push_back("李白");//
  v3.push_back("杜甫");
  v3.push_back("苏轼");
  //用10个5初始化 
  vector<int>v4(10,5);
}

vector容器的遍历方法

//vector容器的遍历
void test_vector2()
{
  vector<int>v1;
  v1.push_back(1);
  v1.push_back(2);
  v1.push_back(3);
  v1.push_back(4);
  //1.下标+[]
  for (size_t i = 0; i < v1.size(); ++i)
  {
   cout << v1[i] << " ";//打印1 2 3 4
  }
  cout << endl;
  //2.迭代器
  vector<int>::iterator it = v1.begin();
  while (it != v1.end())
  {
   cout << *it <<" ";//打印1 2 3 4
   ++it;
  }
  cout << endl;
  //3.范围for
  for (auto e : v1)
  {
   cout << e << " ";//打印1 2 3 4
  }
  cout << endl;
}

vector容器的空间增长问题

//测试增容 vs下
void test_vector3()
{
  size_t sz;
  vector<int> v;
  v.reserve(100);//提前开辟空间 可以减少扩容
  sz = v.capacity();//初始容量 
  cout << "making v grow:\n";
  for (int i = 0; i < 100; ++i)
  {
   v.push_back(i);
   if (sz != v.capacity())
   {
    sz = v.capacity();
    cout << "capacity changed: " << sz << '\n';//扩容1.5倍
   }
  }
  //vector<int> v1;
  //v1.resize(100, 1);// resize扩容同时初始化
  v.resize(10);
  cout << v.size() << endl;//打印10  resize扩容 不会缩容
  cout << v.capacity()<<endl;//打印100 
}</
  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值