泛型程式設(shè)計(jì)與STL

出版時(shí)間:2001  出版社:碁峰  作者:Matthew H. Austern  譯者:黃俊堯,侯捷  
Tag標(biāo)簽:無  

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    泛型程式設(shè)計(jì)與STL PDF格式下載


用戶評(píng)論 (總計(jì)6條)

 
 

  •     ——題記:大概有三個(gè)多月沒有寫博客了吧,其實(shí)不是沒有寫文字了,而是因?yàn)檫@三個(gè)月以來實(shí)在是遇到了太多的困惑、懷疑與迷茫了。打開每天寫的《心路》,總是發(fā)現(xiàn)以前文字的淺躁,于是,在否定與堅(jiān)定,迷茫與尋找之間,我度過了三個(gè)月。對于這些還封存在我電腦中的記錄,我會(huì)找出一個(gè)時(shí)間,好好的整理出來。
      
      或許你看到這篇“三個(gè)月”之后的第一篇“博客”,竟然是一篇計(jì)算機(jī)文章?哈哈,我開始寫計(jì)算機(jī)博客了,從這篇文章開始,我會(huì)將自己學(xué)習(xí)的每門有體會(huì)的課程和自己自學(xué)或是做項(xiàng)目的經(jīng)驗(yàn)總結(jié)寫出來。一方面是為了和其他的朋友共享交流,另一方面,我更覺得,通過用自己的語言寫讀書筆記、經(jīng)驗(yàn)總結(jié)或者一些研究性之類的寫作,可以讓自己對技術(shù)理解的更為透徹。也希望各位朋友多的交流和指正。
      
       概念與實(shí)體
      
       ——《泛型編程與STL》學(xué)習(xí)筆記
      
      1. “增加間接層來增強(qiáng)抽象性以及統(tǒng)一性”
      
      Iterator就是這樣的一個(gè)東東。它對指針的泛型封裝,或者說對位于range中的對象數(shù)據(jù)的泛型封裝,使得不同數(shù)據(jù)類型有了參數(shù)化的一致,也使得單個(gè)對象本身和對象的前后對象有了“相同”的聯(lián)系,從而統(tǒng)一了所有不同的數(shù)據(jù)類型和外界的統(tǒng)一接口。
      
      這個(gè)思想也可應(yīng)用于很多的領(lǐng)域,切記。
      
      2. 概念與實(shí)體
      
      概念Concepts與實(shí)體Model的關(guān)系就好像class與object.。前者是定義好了的一組接口或條件。后者是滿足此條件和接口的實(shí)例。前者是虛,后者為實(shí)。就好比“牛”與“我家的那頭老黃?!薄?br />   
      這時(shí)我突然想到一個(gè)經(jīng)常會(huì)提,但其實(shí)我從未深想的問題:
      
      Q:先是有概念,還是先有實(shí)體?
      
      A1:幾乎是直覺:當(dāng)然是先有實(shí)體了。正是因?yàn)橛辛艘淮蠖训膶?shí)體,再歸納抽象這些實(shí)體的共性,從而形成概念?!斗盒途幊膛cSTL》也告訴我們:研究一個(gè)概念,先看實(shí)際算法,看看算法需要一個(gè)滿足怎樣條件的Model,比如find算法,只需要可“讀”型Iterator,因此才有了Input Iterator概念。
      
      A2:不對。應(yīng)該是概念,或者說理念先于實(shí)體。我家的那頭黃牛還沒有出生,就已經(jīng)有了牛的概念。你或許會(huì)說那頭黃牛之前還有其他牛。但是,所有的面包都是在面包模具制作好了之后開始制作的。如果你是一個(gè)唯物主義者,在宇宙產(chǎn)生之初,一定已經(jīng)有了一系列條件,這些條件先于任何物質(zhì)。如果你信上帝,是上帝根據(jù)自己的樣子創(chuàng)造了人類,這也說明“人”的概念先于任何個(gè)人。
      
      3. 層次、樹與有向無環(huán)圖
      
      突然發(fā)現(xiàn)自己對這幾個(gè)看起來如此簡單的概念都理解的都不準(zhǔn)確。只要是有方向的關(guān)系,就稱他為有層次的,有層次的不就是樹型嗎?如C++中的類的繼承可以叫層次體系嗎?
      
      其實(shí)類的繼承形成的體系準(zhǔn)確點(diǎn)應(yīng)該說是有向無環(huán)圖。而不是層次體系,更不是樹型。
      
      樹的定義是只有一個(gè)輸入,有0或多個(gè)輸出。層次的概念應(yīng)該是根沿著有向邊走到一個(gè)點(diǎn)的所有路徑長度應(yīng)該相等。而有向無環(huán)圖的概念不言自明,是不含環(huán)路的有向圖。樹一定是層次結(jié)構(gòu),且是有向無環(huán)圖,層次結(jié)構(gòu)也一定是有向無環(huán)圖,反之則不成立。請看下面這兩個(gè)圖。左圖是層次結(jié)構(gòu),右圖是有向無環(huán)圖。
      
     ?。ㄔ瓐D見http://blog.sina.com.cn/s/blog_47f511e0010084oe.html,謝謝)
      
      由此可見,我們?nèi)粘DJ(rèn)到視而不見的概念,其實(shí)都不是很清楚的。不信,我問你:
      
      函數(shù)的概念你清楚嗎?
      
      緩沖與cache有區(qū)別嗎?hash與map呢?
      
      虛心到底為何意?中庸?
      
      好人?你覺得自己是一個(gè)好人嗎?
      
      我們?yōu)槭裁匆抨?duì)買東西?
      
      你的優(yōu)勢是什么?劣勢呢?
      
      你到底想要什么?
      
      ……
      
      別急,我正在整理出從最常見的詞語,到各種現(xiàn)象;從各種知識(shí)到我們的專業(yè)知識(shí)的各個(gè)概念。去用自己辯證的思維獨(dú)立的思考。到時(shí)候,你也會(huì)和我一樣對此深信不疑的。
      
      2007-12-5于北大圖書館
      
  •   你歸納的第一點(diǎn)第二點(diǎn),很不錯(cuò),很到位??梢哉f是這本書的核。這本書比較抽象,可惜我時(shí)間不夠,讀不痛快。另外我贊同A1條款。
  •   剛開始讀,對各種各樣的概念雖然覺得有點(diǎn)撓頭,不過幸好有之前看過的《C++標(biāo)準(zhǔn)程序庫》打底,代碼和分析部分基本閱讀流暢,由此歸納的概念也能了解一二,不過想要掌握,估計(jì)還得多讀幾次。
    對于你說的概念與實(shí)體誰先誰后,我覺得是蛋雞之辯,并無太大意義。你要說是先有實(shí)體,那么我們所讀的科幻小說中的那些事物,未來何嘗不能產(chǎn)生?但是現(xiàn)在卻沒有實(shí)體。你要說是先有概念,那么進(jìn)化中的生物無時(shí)無刻不在變化,某個(gè)時(shí)間段內(nèi),某種生物變化成另一種生物(這種變化我認(rèn)為是隨機(jī)發(fā)生的,也就是說我不認(rèn)同宇宙之初只要給定初始參數(shù)就能決定這個(gè)宇宙的一切發(fā)展軌跡),那么這個(gè)還是概念在前嗎?
    重要的是掌握歸納概念的方法,有益于加強(qiáng)我們對事物的理解,讓我們做事情時(shí)能夠游刃有余。
  •   概念與實(shí)體誰先誰后? 薩特的存在主義就是討論這事的,人家說對于物,概念先于實(shí)體;但對于人則是實(shí)體先于概念(存在先于本質(zhì))
  •   馬克思說:先有實(shí)體;黑格爾說:先有概念。
  •   實(shí)體和概念的先后問題不能用簡單的二分法來分析

推薦圖書


 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7