日常笔记6C++标准模板库(STL)介绍

一、vector常见用法详解

  1. 如果typename是一个STL容器,定义的时候要记得在>>符号之间加上空格,因为在C++11之前标准的编译器会把他当成位移操作。vector<vector > name;
  2. vector Arrayname[arrySize]和vector<vector > name不一样,其中定义为数组的即第一个中每个都是一个vector容器,一维长度已经固定为arrySize的大小。
  3. vector元素访问有两种方式,一种是通过下标,还有一种是通过迭代器,通过下标访问和普通数组是一样的操作,重点是通过迭代器访问,vector ::iterator it; 可以把迭代器理解成像指针一样的东西,通过*it可以访问vector里面的内容。在C++11中特别是在for循环中可以写成auto it
  4. v[i]和*(v.begin()+i)是等价的
  5. 左闭右开记住这个思想
  6. 迭代器中还实现了两种自加操作:++it和it++(自减同理)迭代器支持it < v.end()因此循环条件一般使用it != v.end()
  7. 在常用STL容器中,只有vector和string中才允许使用v.begin()+i这种迭代器上加数字的写法。

常用函数:

  1. push_back()就是在vector后添加一个元素,时间复杂度为O(1)
  2. pop_back()就是在vector末尾删除一个元素,时间复杂度为O(1)
  3. size()用来获得vector中元素的个数,时间复杂度为O(1),size返回的是unsigned类型,这一点对所有的STL都是一样的。

猜你喜欢

转载自www.cnblogs.com/tsruixi/p/11890525.html
今日推荐