《大局观:泛型程式设计(Generic Programming)与》.pdfVIP

《大局观:泛型程式设计(Generic Programming)与》.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大局觀:泛型程式設計(Generic Programming )與 STL 1 大局觀:泛型程式設計(Generic Programming)與 STL 侯捷 jjhou@.tw = 1. 大局觀:泛型程式設計與 STL 2000.02 2. 泛型指標( Iterators)與 Traits 技術 2000.03 3. 泛型容器( Containers)的應用與實作 2000.04 4. 泛型演算法( Generic Algorithms)與 Function Objects 2000.05 5. 各色各樣的 Adaptors 2000.06 OO Object Oriented 十年前趕㆖ ( ,物件導向)第㆒波工業浪潮的朋友們,想必今日有㆒番顧盼豪情, 以及㆒份「好加在」的驚悚:「好加在」搭㆖了 OO 的早班列車,不然今㆝就玩不㆘去了! 面對 Generic Programming (泛型程式設計),我有相彷的感覺。 我將撰寫為期五次的系列文章,為各位介紹這個不算新卻又有點新的觀念與技術。 ●C++ Template, Generic programming, STL 1968 Doug McIlroy 發表其著名論文 Mass Produced Software Components ,揭櫫了以「可重用軟體 IC components 元件(又稱軟體積木或軟體 )」構築標準程式庫的願景。如今㆔分之㆒個世紀已逝, software -- 以組件(元件)為本的軟體 -- 大行其道。然而在許多領域㆗,標準化仍未建立。甚至連 任何軟體㆒定會用到的基本資料結構和基本演算法,對此亦付闕如。於是大量的程式員,被迫進行大 量重複的工作,為的竟只是重複完成前㆟早已完成而自己手㆖並未擁有的碼。這不但是㆟力資源的浪 費,也是挫折與錯誤的來源。 撇開追求技術的熱誠不談(也許有㆟確實喜歡什麼都自己來),商用程式庫可以拯救這些程式員於水 深火熱之㆗。只要你的老闆願意花㆒點點錢 ,就可以在㆟力資源與軟體開發效率㆖取得㆒個絕佳平衡 。 但是金錢並非萬能 ,商用程式庫彼此之間並無介面㆖的標準!換句話說你無法在發現了另㆒套更好 、 更豐富、效率更高的程式庫 後 ,改弦更張㆞棄此就彼 -- 那可能會使你付出慘烈的 代價 。這或許是封 閉型技術與觀念帶給軟體元件公司的㆒種小小的 、短暫的利益保護 。 除了「介面無標準」這㆒問題 ,另㆒個問題是, 目前絕大部份軟體元件都使 用物件導向技術,大量運 用繼承與虛擬函式,導至執行成本增加。此外 ,㆒旦運 用物件導向技術,我們此刻所說的基礎資料結 構及各種基礎演算法,便皆需以 container (容器,放置資料的某種特殊結構)為本。資料,放在 container classes 內 (形 成其 data members ) ;操作行為,亦定義在 container classes 內 (形 成其 member functions coupling ) ;這使得耦合 ( ,兩物過度相依而不 獨立)的情況依 然存在,妨礙了元件之所以 interoperability 為元件的獨立性、彈性、交互操作性 (相互合作性 , )。 2 大局觀:泛型程式設計(Generic Programming )與 STL 換句話說 ,要解決這些困境 ,第㆒需要標準介面的建立,第㆓需要 OO 以

文档评论(0)

taxe + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档