2013年8月7日

Transform

摘要: /*////////////////////////////////templateOutputIteratortransform(InputIteratorfirst1,//源容器的起始地址InputIteratorlast1,//源容器的终止地址OutputIteratorresult,//目标容器的起始地址UnaryOperatorop);//函数指针//typedef目标容器元素类型(*UnaryOperator)(源容器元素类型);templateOutputIteratortransform(InputIterator1first1,//源容器1的起始地址InputIterator 阅读全文

posted @ 2013-08-07 19:55 shoutcharter 阅读(165) 评论(0) 推荐(0) 编辑

容器:各类容器的不同特点

摘要: 1vector 向量 相当于一个数组 优点: (1) 不指定一块内存大小的数组的连续存储,即可以像数组一样操作,但可以对此数组 进行动态操作。通常体现在push_back() pop_back() (2) 随机访问方便,即支持[ ]操作符和vector.at() (3) 节省空间。 缺点: (1) 在内部进行插入删除操作效率低。 (2) 只能在vector的最后进行push和pop,不能在vector的头进行push和pop。(3)当动态添加的数据超过vector默认分配的大小时要进行整体的重新分配、拷贝与释放2list 双向链表 每一个结点都包括一个信息快Info、一... 阅读全文

posted @ 2013-08-07 17:08 shoutcharter 阅读(226) 评论(0) 推荐(0) 编辑

容器 vector :为何要有reserve

摘要: 关于STL容器,最令人称赞的特性之一就是是只要不超过它们的最大大小,它们就可以自动增长到足以容纳你放进去的数据。(要知道这个最大值,只要调用名叫max_size的成员函数。)对于vector和string,如果需要更多空间,就以类似realloc的思想来增长大小。vector容器支持随机访问,因此为了提高效率,它内部使用动态数组的方式实现的。在通过 reserve() 来申请特定大小的时候总是按指数边界来增大其内部缓冲区。当进行insert或push_back等增加元素的操作时,如果此时动态数组的内存不够用,就要动态的重新分配当前大小的1.5~2倍的新内存区,再把原数组的内容复制过去。所... 阅读全文

posted @ 2013-08-07 16:56 shoutcharter 阅读(1356) 评论(0) 推荐(0) 编辑

容器 MAP

摘要: 1.equal_rangepair myresult;myPairDef ps=*MyMap1.begin();myresult= MyMap1.equal_range(ps.first);//=====================================此处只接受键!不接受键值对!!!!!ps=(*myresult.first);coutit2) { return true; } else ... 阅读全文

posted @ 2013-08-07 16:39 shoutcharter 阅读(140) 评论(0) 推荐(0) 编辑

超强的字母转换数字

摘要: map m;10 11 for(int i = 0; i < 10; ++i)12 {13 m[i] = '0' + i;14 }在前面加‘0’! 阅读全文

posted @ 2013-08-07 15:40 shoutcharter 阅读(132) 评论(0) 推荐(0) 编辑

for_each 用法!

摘要: class MapTest:public CapTest{ private: set MyTestContain; typedef pair myPairDef; typedef map myMapDef; myMapDef MyMap1; public: MapTest(); ~MapTest(){}; void OutPut(); friend void MyOutPut2(myPairDef thispair);};void MyOutPut2(MapTest:... 阅读全文

posted @ 2013-08-07 15:34 shoutcharter 阅读(170) 评论(0) 推荐(0) 编辑

容器 SET part2

摘要: (6) insert STL中为什么提供这样的set的insert呢?这个成员函数存在的目的是为了插入效率的问题。函数参数中的 __position 只是一个提示值,表示在这个位置附近(可前可后)。如果要插入的数据其插入后的位置在 __position 附近的话,使用这个函数可以大大节省插入的时间。反之,如果这两个位置离得很远的话,反而没有用 insert(const value_type& )效率高。et类的 insert() 的实现讲起来较复杂,举一个简单的例子来说明吧。设有一排好序的整数序列(不妨假定他们存储在一个整型数组中)如下:0 1 2 2 5 7 12 34 56 89 阅读全文

posted @ 2013-08-07 14:49 shoutcharter 阅读(156) 评论(0) 推荐(0) 编辑

学习英语

摘要: Aa首先,你要能脱离中文和翻译,纯粹地使用英语来思考。很多英语单词短语是没有对应中文翻译的,就如同很多中文字词是没有对应英文翻译一样,然而这不妨碍你在使用中文时使用这些字词传达意思。同理,很多英文单词短语你不须要知道他们对应的中文翻译,只要你能够使用它们传达意思就行了。有时候你只需要感知一个词汇所传达的形象或者是感觉就可以了,你甚至不需要能够解释清楚它是什么意思。例如说,中文里面常见的「屌丝」和「hold 住」,让你解释或许你也无法用简单语言解释清楚,但这不妨碍你使用它们传达信息。接着,你需要把你小学时候学习语文的过程重复一遍……没错,这是最痛苦的阶段,也是最多人坚持不下去的阶段。很多人认为自 阅读全文

posted @ 2013-08-07 10:48 shoutcharter 阅读(194) 评论(0) 推荐(0) 编辑

导航