Logic, Analysis, and Computation

宠辱不惊 静观窗前花开花落 去留无意 闲看天上云卷云舒

导航

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

公告

如需转载, 请注明出处。

常用链接

留言簿

随笔分类

随笔档案

文章档案

I/O performance

搜索

最新评论

STL Study Day 3: iterator traits and vector

 今天, 把第3章和第四章中的vector 看完了, 记录下自己的体会。

首先, 是iterator traits。 这个topic, 前前后后, 断断续续, 学习了很长的一段时间, 今天再来看看, 感到十分舒服, 没有了以往的陌生感, 真是书读百遍其义自现啊。 这里就记录下, 几个基本的概念。
 
1. 若要traits 能工作, 每个iterator就需要提供自己的nested typedef去定义相应的型别;
2. 设计适当的associated types 是iterator的责任, 而设计适当的iterator 则是 container的责任了。

这几点, 侯捷书中讲的很详细, 很好。

还有些基本的知识要重新温习下, 才能很好的理解iterator traits 的设计。
1. template parameter deduction;
2. partial specialization.

对于vector, 没什么好多说的, 比较有意思的就是它的memory management, 集中体现在插入的操作上。

图一, insert_aux()



图二, inert()。


两函数的逻辑都很清楚。 不过要注意
copy_backward(), uninitialized_copy() 等函数的使用。 都是挺方便的函数。

以上是我个人的记录, 算法中省越了一些细节, 不能直接照搬。

明天继续。

1:13:17 PM Tuesday, May 12, 2009

posted on 2009-05-13 02:15 小学毕业生 阅读(304) 评论(0)  编辑 收藏 引用 所属分类: STL Study


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理