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 = "<