社区
community_281
帖子详情
请问学STL有用吗?有什么书详细的讲STL?
freebeekf
2000-12-16 11:46:00
近来看了候捷先生的一些文章,知道了STL,对我简直是个震动,
看遍了图书馆也没有相关的书籍,不知是什么原因。
现在想找STL的书,不过不知学STL是否象候捷先生说的那样有用。
...全文
1045
38
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
38 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
marmoset
2001-11-16
to cber,
关于效率的评价,有没有比较全面又比较简单的检验方法(当然是相对来说),
比如生成一个大vector,再作某些copy,assignment,insert之类的操作就能比较客观的比较出两个版本的效率差异?
我的意思是说,在效率的层面上,应该依据哪些因素作为评价的(主要)依据?
是否能设计出比较客观的实验(也许已经有了),进行相对应的比较?
比如以前有人说VC的deque效率不高,那么他们是根据什么得出这样的结果呢?
非常感谢。
打赏
举报
回复
赞
cber
2001-11-16
to marmoset:
VC中的allocator中用到了很多不标准的做法,使得它的效率比其他的STL要高。
VC对于STL的支持不好,关键在于它的编译器对于ANSI C++ Standard支持的不好,尤其是模板这方面,而STL主要又是基于ANSI中的许多模板特性上面,因此才会说VC对于STL支持不好。其实VC中的STL特性已经足够一般的使用了。
打赏
举报
回复
赞
marmoset
2001-11-16
to cber
请问为什么VC下的STL效率最高?以前不是说VC对STL的支持并不好吗?如果有相关的文章,可否介绍一下?
而且好像VC版本STL的内存分配用的是new,而SGI版本用的是malloc,后者的速度应该更快才对呀???
打赏
举报
回复
赞
rami
2001-11-16
STL是站在高层看问题。我们应该结合编程实践来体会STL带来的博大思想和好处。
打赏
举报
回复
赞
linghuye
2001-11-16
STL真他妈的是个好东西,我的生活又有了奔头。
北京国家图书馆第一外文阅览室有几本经典著作,爽!
打赏
举报
回复
赞
cber
2001-11-15
据评测,VC中的STL效率其实是最高的(这是myan在一封email中告诉我的,我还没有去读那篇评测文章)。不过由于VC中对于ANSI C++中的模板支持的太差,所以VC的STL用起来也不标准,感觉很怪,有很多的特性支持的不是很好。
打赏
举报
回复
赞
softarts
2001-11-15
那STL到底有什么地方比MFC的集合类做得好的,请用事实说明一下
我不是很清楚,只是看到大家都这么说。
还有,VC中的STL实现效率到底有多低?原文出处在哪里?谁能证明一下?
谢谢!!
打赏
举报
回复
赞
cber
2001-05-18
GP <> OOP
它们是两种不同的paradigms,个人认为以后GP的应用将会越来越广泛,估计以后的Design Patterns都将会完全的Generic,而我们只需要将Object包装一下使之符合GP的要求就行了:)
打赏
举报
回复
赞
qqchen79
2001-05-17
GP是指设计对各种类型通用的类和方法。与经典的OOP相比,GP不仅需要考虑接口和实现的分离,而且需要对具体实现及其效率加一考虑(无论对那种类型,stack的进栈出栈动作都应该指需要常数时间O(1))。
C++中的GP的方法就是模版(template),而STL则是GP编程的一个典范(它几乎包含了所有GP应用的经典问题)。与此相比,STL中对OOP的继承和多态的应用就非常之有限,甚至在一些细节的问题上违反了OOP的原则!
学会STL我认为是C++程序员的必修课,auto_ptr(C++标准库的一部分)和container的使用基本可以避免与底层的指针混战的经历——避开指针而又不用花费GC的代价,java程序员是无福消受的。
java/C#中对GP支持的缺乏,只能使他们更是用于教学应用,鼓吹所谓真正的纯OOP :-)
学习STL的另一个附带的好处是Design Pattern的实践,Iterator是经典的Pattern,另外像Traits也被用绝了!还有Adapter等等等等。
打赏
举报
回复
赞
emerald
2001-05-17
多谢多谢,以后多请教,
不过在程序员提到了generic java,
GP的路越来越广了
打赏
举报
回复
赞
emerald
2001-05-16
知秋一叶很有研究啊,stl不是Generic Programming的唯一方法,
你能帮忙告诉我其他还有什么方法么?
打赏
举报
回复
赞
qqchen79
2001-05-16
STL无论是从实用还是思想都值得学习。
但由于MS有意无意的忽略,导致VC中STL效率不好,而且MSDN中介绍也很少!
基本没有比较好的中文资料,学STL要看E文的了!
另外,STL应该是Generic Programming的典范,GP是否归于OOP当中,现在还没有定论。
打赏
举报
回复
赞
vcmfc
2001-05-15
不学习STL,完全可以学懂ATL,只不过ATL中的有一小部分需要你懂一点STL。
打赏
举报
回复
赞
chiefen
2001-05-15
to :freebeekf(潦潦草草)
不学stl ,能学懂atl吗?
打赏
举报
回复
赞
yeka
2001-05-15
我们社今年会出版一批STL方面的经典著作,有侯捷先生翻译的,也有侯捷先生写作的,大约4、5本的样子。(华中科技大学出版社)
打赏
举报
回复
赞
tianlon
2001-05-15
ATL与STL有何异同?
打赏
举报
回复
赞
vcmfc
2001-02-05
俺就是专门利用春节期间来恶补一番!
打赏
举报
回复
赞
ahao
2001-02-03
学了STL,才能体会面向对象软件开发的精髓
这么好的东西竟然有人说是...呵...
打赏
举报
回复
赞
vcmfc
2001-02-03
同意!
打赏
举报
回复
赞
freebeekf
2001-02-02
我觉得全国都乃井底之蛙,本应流行的东东,在中国就被打入了冷宫,连本书都找不到。。。。。。
打赏
举报
回复
赞
加载更多回复
相关推荐
string类
的
构造方法_String类重要吗_C++_
STL
_string_
C++
stl
中重要容器string类
的
构造方法与基本概念和一些
有
用
的
字符串操作
C++中
STL
用法超
详细
总结
1
什么
是
STL
?
2
STL
内容介绍 2.1 容器 2.2
STL
迭代器 2.3 算法 2.4 仿函数 2.4.1 概述 2.4.2 仿函数(functor)在编程语言中
的
应用 2.4.3 仿函数在
STL
中
的
定义 2.5 容器适配器 2.5.1 stack 2.5.2 ...
STL
文件读取
读取
STL
文件,显示三维模型,MFC代码,做三维显示很
有
用
的
参考代码
【C++】
STL
中sort算法使用了
什么
排序算法
?
STL
所提供
的
各式各样
的
算法...
STL
的
所
有
关系型容器(associative containers)都
有
用自动排序功能(底层结构采用RB-tree),所以不需要用到这个sort算法。至于序列式容器(sequence containers)中
的
stack、queue和p...
无线局域网
的
历史与发展趋势.doc
1、 无线局域网现状研究 无线局域网络(Wireless Local Area Networks,WLAN)在局域网区域内以无线媒体或介质、利用射频(Radio Frequency,RF)
的
技术,取代旧式碍手碍脚
的
双绞铜线(Coaxial)所构成
的
局域网络,使 得无线局域网络能利用简单
的
存取架构让用户透过它,达到"信息随身化、便利走天下"
的
理想境界。 自从1977年第1个民用局域网系统ARCnet投入运行以来,局域网以其广泛
的
适用性和 技术价格方面
的
优势,获得了成功和迅速
的
发展,已成为数据网络领域中基于宿主机
的
最流行
的
网络连接形式。进入90年代以来,随着个人数据通信
的
发展,功能强大
的
便携 式数据终端以及多媒体终端
的
广泛应用,为了实现任何人在任何时间、任何地点均能实 现数据通信
的
目标,要求传统
的
计算机网络由
有
线向无线,由固定向移动,由单一业务 向多媒体发展,更进一步推动了WLAN
的
发无线局域网主要是无线计算机通信网络。无线 局域网
的
历史,也就是无线计算机网络通信
的
历史。无线通信
的
历史非常悠久,但无限 计算机通信
的
历史并不长,其优越性是近十几年才发挥出来。 2.1无线局域网
的
产生 最早
发帖
community_281
加入
微信扫一扫
点击复制链接
分享社区
下载分享明细
449
社区成员
25.6w+
社区内容
社区管理员
申请成为版主
帖子事件
创建了帖子
2000-12-16 11:46
社区公告
暂无公告