这样让stl发挥更大作用?

flybusflybus 2002-09-28 02:23:08
请问各位在平时开发中应用stl的同志,你们最常用到的算法是哪些?
用stl的时候几个基本应该注意的问题是什么?容易犯什么错误?
怎样用好stl?让他真正给我们带来便利?
...全文
44 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sogald_2001 2002-10-05
  • 打赏
  • 举报
回复
PS:C++ Boost库和STLport都可以到侯SIR的网站上找到链接。
侯SIR的网站上也有一篇孟炎写的移植经验之谈。我就是照着他的做的,尝试了两次才成功,不过根据我自己的使用经验,我觉得用起来还是很不方便,每次使用都需要很多设置,挺麻烦的。可以考虑使用DEV C++编译器或者是GNC++
sogald_2001 2002-10-05
  • 打赏
  • 举报
回复
STL中的功能非常的强大,从开始学到现在,我就一直在用,前些日子看了侯SIR的《STL源码剖析》后感觉更踏实了。SCOTT MEYERS有一本《EFFECTIVE STL》的书,如同他的《(More)Effective C++》一样被奉为经典,可惜只看到一点点介绍:(
MFC中有很多的内建常用数据结构的实现,也是以模板的方式的,如CList等,但我不喜欢,更喜欢使用STL

vector,完全代替了日常的数组的使用。
stack, list, slist,deque等等,随手拿来就可以使用。
string, 有了它后,很少在程序中出现char * 等了,省去了很少的字符串转    换,复制,查找,内存管理等操作,极大提高工作效率
map,set 等集合数据类型对于数据的匹配,搜索等提供了很大帮助

<utility>这个工具库提供的pair更是经常使用,因为经常有一些两两关联或者更多关联的数据,有了它就不必要自己费心去创建什么struct或者class来管理了。
SGI STL提供的hash应该是经常使用的了,也是大家都盼望的,在VC++中不被支持,因为它不是使用SGI提供的STL实现版本,这可以去STLport 下载移植包来弥补。


我们以后也再也不必要费心去写一个2-3流的复制,查找,排序等算法了。
STL中都提供了高效精致的实现,对于一些特别的应用,我们完全可以自己写个functional来适配已有的算法从而完成自己的任务。

PS:个人觉得STL的不足之处是对图和网这种数据结构支持不够,这可以用C++标准委员会的C++ Boost库来弥补,后者同样是一个非常优秀的开发库。
yaotang 2002-10-05
  • 打赏
  • 举报
回复
STL嘛用得少,但你一看那list ,vector,map等就知道功能多强了,关于STL<<程序员>>杂志上有很多资料的,我感觉STL方面Trait技术好象有点难懂;侯 Sir就专门写了几篇,再有就是刚出版的侯Sir的两本书了
wtzyb4446 2002-09-29
  • 打赏
  • 举报
回复
我对stl用的也不是很多,感觉stl是很方便,但是有一点不好,它动不动就是几十上百个warning,而且告警的地方都是stl的源码里面,真不知怎么搞出来的,还有它的错误报告也是一大串,很不容易看懂。另外好像在多线程里使用stl容易出问题。
wangjx71 2002-09-29
  • 打赏
  • 举报
回复
stl 有写不易理解
flybusflybus 2002-09-29
  • 打赏
  • 举报
回复
这个有建设性,呵呵,国假去买来参详参详
ZHENG017(风中王子) 至少100分了,如果没有更有建设性的意见了就200分
如果谁有重大有建设性的,我再开帖子给分,不少于200
ZHENG017 2002-09-29
  • 打赏
  • 举报
回复
有本stl源码分析挺经典。。。
flybusflybus 2002-09-29
  • 打赏
  • 举报
回复
真的没人有点有建设性的建议呀?
上海老李 2002-09-28
  • 打赏
  • 举报
回复
每一类算法都有可用于它的地方!随遇而安吧!
flybusflybus 2002-09-28
  • 打赏
  • 举报
回复
yun 我去codeguru转了一圈没找到什么好东东
回来一看,上面老兄说的是google,我看做guru了,hoho,老花眼了
flybusflybus 2002-09-28
  • 打赏
  • 举报
回复
的确牛!
不过我还没想自己去实现,我这希望stl能帮我就好了:)
看国外一些source code里夹着一些stl(国内的不是说不好,但感觉真正用stl的很少,而且代码面向对象的设计思想体现也是罕见能体现大家风范的,大家都是为了实现而实现了),感觉确实很便利,所以想用好他
csdn对stl真正有心得的大虾能不能来总结一下?
alaofangel 2002-09-28
  • 打赏
  • 举报
回复
stl,我曾经有个同事,自己完成了所有有关树的数据结构的stl的代码,牛,可惜我没空去研究他...hehehe..
up
flybusflybus 2002-09-28
  • 打赏
  • 举报
回复
google 上代码好多啊,不过和我主题相关的文章或者帖子有吗?
如果有,给个链接我去看,然后结帖算了,看来stl被用得好“冷清”,sign
wx007 2002-09-28
  • 打赏
  • 举报
回复
建议你上GOOGLE查查吧
ljan 2002-09-28
  • 打赏
  • 举报
回复
帮你up一下,平时用stl不多,估计大家用的多是mfc,不过我认为stl是c++程序员必学的东东,stl 封装了很多算法,关键还是看你用在什么方面了...

其实stl也就是给我们提供了很大的便利,以前一些需要钻数据结构的东西,都提供给我们了,所以现在c++的入门门槛也越来越低了...
flybusflybus 2002-09-28
  • 打赏
  • 举报
回复
怎么没人回帖子啊?
大家都不用stl吗?
还是分不够?(这个问题好解决,我给分最实惠了,有一个答案让我觉得好的,至少100分)

//我标题有错别字,sorry,不是这样,应该是怎样

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧