vector内存释放机制

vector 中的内建有内存管理,当 vector 离开它的生存期的时候,它的析构函数会把 vector 中的元素销毁,并释放它们所占用的空间,所以用 vector 一般不用显式释放 —— 不过,如果你 vector 中存放的是指针,那么当 vector 销毁时,那些指针指向的对象不会被销毁,那些...

2013-09-26 09:28:02

阅读数 4558

评论数 0

算法 <algorithm>中各种算法解析

一,巡防算法 for_each(容器起始地址,容器结束地址,要执行的方法) [html] view plaincopyprint? #include iostream> #include algorithm> #include vector&g...

2013-08-18 17:17:10

阅读数 2795

评论数 0

STL函数对象及函数对象适配器

一 函数对象Functor 函数对象是重载了函数调用操作符的类的对象。因为这个对象重载了函数调用操作符,所以你可以像调用函数一样使用这个对象。 #include using namespace std; class A { public:  int operator() (int x,int...

2013-08-18 17:14:58

阅读数 9369

评论数 0

STL算法简介

STL算法概述 简介: STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象 注意: 编译器无法检测出所传递的迭代器是一个无效形式的迭代器,当然也无法给出算法函数错误的提示,因为迭代器并不是真实的类别,它只是传递...

2013-08-18 16:08:03

阅读数 9361

评论数 0

c++ STL 容器

STL源码分析 (一)vector容器 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vector的运用对于内存的合...

2013-08-17 23:21:39

阅读数 9183

评论数 0

STL heap堆

STL 中与heap 有关的操作有 如下几个 : make_heap(), pop_heap(), push_heap(), sort_heap(), is_heap; is_heap() : 原型如下 : 1. bool is_heap(iterator start, iterat...

2013-08-17 23:01:39

阅读数 3091

评论数 0

C++类模版详解

有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类: class Compare_int { public : Compare(int a,int b) { x=a; y=b; } int max( ) { return (x>y)?x:y...

2013-01-02 17:54:47

阅读数 13403

评论数 0

STL中mem_fun和mem_fun_ref的用法 收藏

怎么对容器中的所有对象都进行同一个操作?我们可能首先想到的是用循环来实现。 比如有如下的一个类: class ClxECS { public: int DoSomething() { // 这里以输出一句话来代替具体的操作 cout return 0; }; }; ...

2013-01-02 17:29:21

阅读数 13366

评论数 0

STL 函数适配器

先来看一个小程序: bool check(int elem); vecotv; ... pos=find_if(v.begin(),v.end(),not1(check))竟然出错,查找资料之后,发现,原来原因如下: ptr_fun做的唯一的事是使一些typedef有效( 仿函数类的ope...

2013-01-02 17:19:15

阅读数 13798

评论数 0

ptr_fun详解

ptr_fun是将一个普通的函数适配成一个functor,添加上argument type和result type等类型, 其实现如下(例子里面是binary_function,unary_function同理): template<class _Arg1, class _...

2013-01-02 17:00:30

阅读数 13785

评论数 0

STL 函数对象

一 函数对象(Functor) STL中提供了一元和二元函数的两种Functor,通过unary_function和binary_function提供了这两种不同参数数量的Functor的基本结构,在这两个类型中,分别内嵌定义一元和二元函数操作在模版推演的时候需要用到的typedef. ...

2013-01-02 16:18:51

阅读数 13594

评论数 0

三十分钟掌握STL

这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。 译者:kary contact:karymay@163.n...

2013-01-02 16:16:09

阅读数 1710

评论数 0

使用reserve来避免不必要的重新分配

关于STL容器,只要你不超过它们的最大大小,它们就可以自动增长以满足你的要求。对于vector和string,只要需要更多的空间,就可以用realloc等价思想来增长。这个操作有四个部分。 1. 分配新的内存块,在大部分实现中,vector和string的容量每次以2为因数增长。 2. 把所有...

2013-01-01 11:07:53

阅读数 13457

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭