大师们 你们对他们是怎样看

wyqiang 2003-05-06 09:36:54
我想我该学c++那
map
vector
list
set
iterator
我想问的是他们为啥引人
他们是怎样的存取方式
他们之间的选取,区别。
使用方法
...全文
3 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
J2eeLearner 2003-05-07
下载 SGI STL DOC 自己看吧
我觉得挺好的,有时比翻书方便

现在我用STL ,就是这个+源代码
编译出错 很容易找到答案!
回复
wyqiang 2003-05-07
你们的话可以把我心中不知道的东西说请
回复
ambition2005 2003-05-07
The C++ Standard Library-a tutorial and reference
很好的书
(我也不是大师)
回复
fangrk 2003-05-07
别人都说了,我还说什么呢?
《C++ 标准程序库》不错,建议去看看,结合上机练习最好。
书比较厚,要有耐心
回复
luckyum 2003-05-07
学好他们会增加你的编程效率,他们都是stl,stl把他们都变成泛式了,虽然泛式学起来很繁琐,尤其是在继承时候的表现,不过也可以先学他们的简单用法如
map
vector
list
set
iterator看看<C++Primar>里的简单用法
如果想深入就看<C++标准程序库>
回复
alan118 2003-05-06
楼上几位大哥都讲的很清楚了哈,最好的方法是看书,the c++ programing language ,the c++ standard library- a tutorial and reference,都讲的很清楚
回复
短歌如风 2003-05-06
list除了提供了顺序容器的基本功能外,还提供了一个sort方法,这是因为list的iterator是双向而不是随机访问的,而STL中的sort函数需要一个随机访问迭代器,所以list提供了一个自己的sort方法。
map和set系列在当前的STL库中一般都是用红黑树实现的,它的增删查操作都是对数级的,非常快,一般我经常用map做动态的查找表。但并不是凡需要快速查找的地方都是用map最合适。如果你的查找集合固定不变,选一个好的hash函数用hash table会更好。如果查找集合不能确定但它是一次性生成的,而不会或很少动态插入和删除的话,用vector存储用sort函数排序并用binary_search查找会更好,空间和时间效率都比用map高。
回复
step_by_step 2003-05-06
上两位都讲的不错,对于概念的理解如果你自己没有体会的话,不是几句话就可以说清的。
推荐你看看《The C++ Standard Library-a tutorial and reference》

ps:我不是大师
回复
短歌如风 2003-05-06
map/multimap和set/multiset是用关键字查找的容器。其中map系列是用来根据某一类型的对象找到另一类型的对象的,而set系列则通常用于判断某一对象是否在其中。multi系列可以在一个容器中存储多个关键字不同的对象,而map和set则不允许重复。一般我用的最多的就是map。
list、vector和deque是顺序存储的容器,可以互换使用(但效果不一定好)。关于这三个容器的选择,看一下《C++View》第二期中的《STL有序容器武道会》这篇文章(www.c-view.org有下载)。
iterator是用来遍历容器的迭代器,STL中所有的算法都操作iterator而不直接操作容器,从而可以使算法和容器分离,达到较好的代码重用效果。
回复
lifanxi 2003-05-06
它们都是标准库中的模板,详情可以看书学习,不是三言两语可以说清的。
map用于存放键值-数据这样的东东。
vector是一个好用的数组。
list是链表。
set是集合。
iterator是迭代器,用于在容器中遍历访问数据。
回复
相关推荐
发帖
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
帖子事件
创建了帖子
2003-05-06 09:36
社区公告
暂无公告