c++ 工程基础之STL系列 (一) vector

2014-11-24 03:09:18 · 作者: · 浏览: 1

STL在c++实际工程中很重要,可以提供开发效率降低维护成本,实际开发中可能大家并不需要了解其内部实现,但了解大概的数据结构还是有好处的。

首先讲下几个在工程中STL的几个典型问题: 1.判断容器为不为空empty() 复杂度是O(1), 而用size() == 0可能是O(N);

2.clear()并不能释放内存,用swap空容器释放

3.局部容器在跳出作用域将自动释放容器内存

4.new 出来的容器,在delete的时候自动释放容器

5.最好不要定义全局的容器,可以通过先定义全局指针,再new的方式

6.容器类的元素最好不要使用指针,因为这样很多时候忘记释放指针指向的内存,很容易造成内存泄露


STL的使用其实很简单,首先讲下STL最常用的容器类vector, 其实就是一个动态数组类,在工程中应用最广泛了一种了

#include
#include
using namespace std;

#include
  
   
#include
   
     using namespace std; int main() { vector
    
      v1; cout<<"v1.size = "<