日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

伴随我成长的编程书

發(fā)布時間:2025/3/21 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 伴随我成长的编程书 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、

這篇文章是應(yīng)之前在微博上爆過的下個周末某出版社的線下活動而寫的。回顧我和C++在這個世紀的第二個春天開始發(fā)生過的種種事情,我發(fā)現(xiàn)我并不是用一個正常的方法來學會如何正常使用C++的。我的C++學習伴隨著很多其他流行或者不流行的語言?,F(xiàn)在手中掌握的很多淫蕩的技巧正是因為學習了很多編程語言的緣故,不過這并不妨礙我正常地使用C++來在合理的時間內(nèi)完成我的目標。

學習C++是一個艱難的過程。如果從我第一次看C++的書算起,現(xiàn)在已經(jīng)過了11年了。一開始的動機也是很不靠譜的。剛開始我很喜歡用VB6來開發(fā)游戲,但是我能找到的資料都是用C++來做例子的,文字部分又不豐富,于是我遇到了很多困難。因此我去三聯(lián)書店買了本C++的書,想著我如果學會了C++,就可以把這些例子翻譯成VB6的代碼,然后繼續(xù)用VB6來寫游戲。陰差陽錯,我買到的是一本語法手冊。不過那個時候我還小,不知道什么是MSDN,也不知道MSDN是可以打印出來賣的:

不過因為C++在當時并不是我學習的重點,于是我就沒事的時候翻一翻。我們都知道語言參考手冊(MSDN里面叫Language Reference)的順序都是按照類別而不是教學順序來排列的。于是當我花了很長時間看完了第一遍的時候,就覺得這本書寫的云里霧里。剛開始講什么是表達式的時候,例子就出現(xiàn)了大量的函數(shù)和類這種更加復雜的東西。于是我選擇重新看一遍,基本的概念就都知道了。當然這個時候完全不能算“學會C++”,編程這種事情就跟下象棋一樣,規(guī)則都很容易,但是你想要下得好,一定要通過長期的練習才能做到。

當然,在這段時間里面,我依然是一邊看C++一邊用VB6來學習編程。初二的時候?qū)W校發(fā)了QBasic的課本,當時看了一個星期就完全學會了,我覺得寫代碼很好玩,于是從此就養(yǎng)成了我沒事逛書店的習慣(就連長大了之后泡MM也有時候會去書店,哈哈哈哈哈)。值得一提的是,我第二次去書店的時候,遇到了下面的這本書《Visual Basic高級圖形程序設(shè)計教程》:

在這之前我買到的兩本VB6的書都是在教你怎么用簡單的語法,拖拖界面。然后就做出一個程序來。那個時候我心目中編程的概念就是寫寫記事本啊、寫字板啊、計算器等等這些東西,直到我發(fā)現(xiàn)了這本書。我還記得當時的心情。我在書架上隨手翻了翻,發(fā)現(xiàn)VB竟然也可以寫出那么漂亮的圖形程序。

這本書包含的知識非常豐富,從如何調(diào)用VB內(nèi)置的繪圖命令、如何調(diào)用Windows API函數(shù)來快速訪問圖片,講到了如何做各種圖像的特效濾鏡、如何做幾何圖形的變換,一直到如何對各種3D物體做真實感渲染,甚至是操作4維圖形,都講得清清楚楚。這本書比其他大多數(shù)編程讀物好的地方在于,讀者可以僅靠里面的文字,基本不用看他的代碼,就可以學會作者想讓你學會的所有東西。因此當我發(fā)現(xiàn)我怎么著也找不到這本書的光盤(事實上書店就沒有給我)的時候,我并沒有感到我失去了什么。這本書的文字部分不僅寫得很詳細,而且作者還很負責任。作者知道像圖形這種對數(shù)學基礎(chǔ)有一定要求的東西,程序員不一定懂——尤其是我那個時候才上初中,就更不可能懂了——所以在書里面看到一些復雜的數(shù)學公式的時候,作者都會很耐心的告訴你這些公式的來源,它們的“物理意義”,有些時候甚至還會推導給你看。因此可以想象,這本書包含的內(nèi)容也特別的豐富。這導致我在讀的時候不斷地找資料補充自己的數(shù)學知識,從而可以親自把那些程序?qū)?#xff08;而不是抄)出來。這個過程一直持續(xù)到了我終于不用VB轉(zhuǎn)Delphi,到最后上大學改用C++的那個時候,我終于理解了整本書里面講的所有內(nèi)容,給我后面的很多事情打下了堅實的基礎(chǔ)。

因為數(shù)學知識缺乏的關(guān)系,學習這些基礎(chǔ)知識又不可能那么快,所以我把一部分時間投入在了游戲開發(fā)里面,嘗試自己弄點什么出來。畢竟當時對編程有興趣,就是因為“說不定游戲也可以用代碼寫出來”的想法,于是我得到了下面的這本書:

這本書是我覺得21天驚天陰謀系列里面唯一一本良心的書。它并沒有只是簡單的羅列知識,而是教你利用VB6內(nèi)置的功能搭建從簡單到復雜的游戲程序。我第一次看到關(guān)于鏈表的知識就是在這里??上г谖疫€沒學會如何使用VB6的類模塊功能之前,我就已經(jīng)投向了Delphi,因此并沒有機會實踐這個知識。不過在此之后,我用VB6寫的小游戲,已經(jīng)嘗試把游戲本身的模塊(這是VB6的一個功能,就跟namespace差不多)分離,積累一些基礎(chǔ)代碼。

在這段時間里面,我學習語法都學得很慢。循環(huán)甚至是在我用人肉展開循環(huán)的方法一行一行復制黏貼出了一個井字棋的AI之后才學會的。后來很晚才學會了寫函數(shù),全局變量則更晚了。于是在那個時候我寫了很多看起來很愚蠢的代碼。曾經(jīng)我以為一個函數(shù)的全局變量在退出函數(shù)之后是會保留的,然后對著自己寫出來的不能運行的代碼感到十分的莫名其妙。還有一次做一個記事本,因為不知道“當前文件路徑”要存在什么地方,于是在界面上放了一個Label來放文件名。后來有了雄心壯志,想用VB搞定一個長得像Basic的超簡陋的腳本。這當然最后是失敗了,但是我依稀記得,我當時取得的成就就是把腳本語言的字符串分割成了一個一個的token之后,保存在了一個表格控件里面,以便之后(后來這個“之后”沒寫出來)讀的時候方便一點。之后還嘗試寫一個讀四則運算字符串計算結(jié)果的程序,都是先找最里層的括號,把那條不帶括號的簡單式子計算完之后,把結(jié)果也處理成字符串replace回去。直到整個字符串收斂成一個值為止。一直等到我后來買到了一本系統(tǒng)介紹VB6語法和用法的書之后,我的代碼才稍微變得不像猴子打出來的。

在剛開始學編程的時候,基本上都沒有什么固定的方向,都是在書店里面碰到什么酒寫什么。于是有一次我在書店里看到了《Visual Basic 網(wǎng)絡(luò)高級編程》

這本書是我在學習VB的過程中最后一本我覺得不錯的書了。雖然VB本身也提供了很多訪問網(wǎng)絡(luò)資源的控件,但是這本書并沒有讓你僅僅會用被人的輪子來寫代碼,而是一步一步的告訴你這些網(wǎng)絡(luò)協(xié)議的內(nèi)容,然后讓你用Socket來跟這些服務(wù)器直接交互。我記得我最后成功的做出了一個郵件收發(fā)程序,跟聯(lián)想1+1系列自帶程序的功能已經(jīng)可以媲美了。

二、

當我發(fā)現(xiàn)C++實在是太難,根本沒辦法真的把網(wǎng)上那些C++的程序改成VB之后,我上了高一,接觸了NOI。NOI讓我得到的一個收獲就是,讓我在上了大學之后很堅定的不把時間浪費在ACM上,從而有了很多時間可以搞圖形、編譯器和女同學。參加高中的NOI培訓讓我知道了什么是數(shù)據(jù)結(jié)構(gòu),還有什么是指針。老師在講Pascal的時候說,要靈活使用指針才可以寫出高性能的程序。這讓我大開眼界,不僅因為VB沒有指針,而且當時用VB寫圖形的程序感覺怎么樣也快不上去(當然這有大半原因是因為我代碼寫得爛,不能全怪VB)的同時,還讓我認識了Delphi。Delphi跟VB一樣可以拖控件,而且控件長得還很像。于是我就抱著試一試的心理,開始學習如何用Delphi來寫代碼。

因為有《Visual Basic 高級圖形程序設(shè)計教程》的知識作為背景,我很快就掌握了如何用Delphi來開發(fā)跟圖形相關(guān)的程序。那個時候我覺得該做的準備已經(jīng)準備好了,于是用Delphi寫了一遍我在VB的時候總是寫不快的一個RPG游戲。這個游戲雖然不大,但是結(jié)構(gòu)很完整。在開發(fā)這個游戲的過程中,我第一次體驗到了模塊化開發(fā)的好處,以及積累基礎(chǔ)代碼對開發(fā)的便利性。同時也讓我嘗到了一個難以維護的程序時多么的可怕。這個游戲前后開發(fā)了八個月,有一半的事件都是在寫代碼。對于當時的我來說,程序的結(jié)構(gòu)已經(jīng)過于復雜,代碼也多到差不多失控的地步了。后來我統(tǒng)計了一下,一共有一萬兩千行代碼。由于那個時候我的調(diào)試能力有限,而且也不知道如何把程序?qū)懗梢子谡{(diào)試的形式。結(jié)果我等到了我的核心部分都寫完了之后,才能按下F9做第一次的運行(!!!)。當然運行結(jié)果是一塌糊涂。我花了很大的努力才把搞到能跑。

由于程序本身過長,我在開發(fā)的過程中覺得已經(jīng)很難控制了。再加上我發(fā)現(xiàn)我的同一個模塊里的函數(shù)基本上都是下面的形式:
PrefixFunction(var data:DataStructure, other parameters ...)
總覺得跟調(diào)用Delphi的類庫的時候很像。所以我就想,既然代碼都變成了這樣,那是不是學習面向?qū)ο箝_發(fā)會好一點?在這個過程中我有幸遇到了這本《Delphi6 徹底研究》:

雖然說這本書并沒有包含那些深刻的面向?qū)ο蟮闹R,但是他詳細的介紹了Delphi的語法、基礎(chǔ)的類庫的用法還有Delphi那套強大的控件庫和數(shù)據(jù)開發(fā)的能力。這本書第一次讓我知道,Delphi是可以內(nèi)嵌匯編代碼的。這給我對計算機的深入理解打開了一扇門。

學習匯編是一個漫長的過程。這倒不是因為匯編的概念很復雜,而是因為里面的細節(jié)實在是太多了。這些知識靠網(wǎng)絡(luò)上零星的文章實在是無法掌握,于是在常年逛書店的習慣之下,我又遇到了《Windows 匯編語言程序設(shè)計教程》。

這本書內(nèi)容其實并不是很多,但是他給了我一個很好的入門的方法,也講了一些簡單的匯編的技巧,譬如說怎么寫循環(huán)啊,怎么用REPZ這樣的前綴等等,讓我可以用匯編寫出有意義的程序。匯編和Delphi的結(jié)合也促使我開始去思考他們之間的關(guān)系,譬如說一段Delphi的代碼就經(jīng)是如何映射到匯編上面的。下面發(fā)生的一個小故事讓我印象深刻。

那還是一個,我還很喜歡各種不知所謂的奇技淫巧的日子。有一天我在論壇里看到有人說,交換兩個integer變量可以用一種奇葩的寫法:
a:=a xor b;
b:=b xor a;
a:=a xor b;
于是我就理所當然得想,如果我把它改成匯編,那是不是可以更快,并且超過那種需要中間變量的寫法?后來我試了一次,發(fā)現(xiàn)慢了許多。這個事件打破了我對會變的迷信,當然什么C語言是最快的語言之類的,我從此也就以辯證的眼光去看帶了。在接下來的高中生涯里,我只用了匯編一次,那還是在一個對圖像做alpha blending的程序里面。我要同時計算RGB,但是寄存器每一個都那么大,我覺得很浪費,于是嘗試用R<<16+G放到一個寄存器里面,跟另一個R<<16+G相加。中間隔了一個字節(jié)用來做進位的緩沖,從而達到了同時計算兩個byte加法的效果。后來測試了一下,的確比直接用Delphi的代碼來寫要快一些。

純粹的教程類書籍看多了之后,除了類庫用得熟、代碼寫得多以外,好處并不大。所以當我有一天在書店里發(fā)現(xiàn)《凌波微步》的時候,剛翻開好幾頁,我就被它的內(nèi)容吸引住了,斷然入手。

這本書讓我第一次覺得,一個程序?qū)懙煤煤蛯懙脿€竟然有如此之大的差別。作者下筆幽默,行文詼諧,把十幾個例子用故事一般的形式講出來。這本書不告訴你什么是好的,而告訴你什么是不好的。每一個案例的開頭都給出了寫得不好的代碼的例子,然后會跟你解釋的很清楚,說這么做有什么不好,改要怎么改的同時,為什么好的方法是長那個樣子的。這本書也開始讓我相信方法論的意義。在這個時候之前,我在編程這個東西上的理論基礎(chǔ)基本上就只有鏈表和排序的知識,其它的東西基本都不懂,但是想做出自己想要做的事情卻又不覺得有什么太大的麻煩。甚至我到高三的時候?qū)懥艘粋€帶指令集和虛擬機的Pascal腳本語言(不含指針)的時候,我連《編譯原理》這本書都沒有聽過。因此以前覺得,反正要寫程序,只要往死里寫,總是可以寫出來的。但是實際上,有理論基礎(chǔ)和沒有理論基礎(chǔ)的程序員之間的區(qū)別,不在于一個程序能不能寫出來,而在于寫出來之后性能是不是好,代碼是不是容易看懂的同時還很好改,而且還容易測試。這本書對于我的意義就是給我?guī)砹诉@么一個觀點,從而讓我開始想去涉獵類似的內(nèi)容。

當然,那段時間只是這么想,但是卻不知道要看什么。所以在一次偶然之下,我發(fā)現(xiàn)了《OpenGL 超級寶典》。當然第一次看的時候還是第二版,后來我又買了第三版。

鑒于以前因為《Visual Basic 高級圖形程序設(shè)計教程》的緣故,我在看這本書之前已經(jīng)用Delphi寫過一個簡單的支持簡單光照和貼圖的軟件渲染程序,于是看起來特別的快。其實OpenGL相比起DirectX,入門級的那部分API(指glBegin(GL_TRIANGLE_STRIP)這些)是做得比DirectX漂亮的,可惜性能太低,沒人會真的在大型游戲里使用。剩下的那部分比DirectX就要爛多了。所以當我開始接觸高級的API的時候,OpenGL的低速部分讓我戀戀不舍。OpenGL的程序我一路寫到了差不多要高考的時候。在那之前學習了一些簡單的技巧。上了大學之后,學習了一些骨骼動畫啊、LOD模型啊、場景管理這些在OpenGL和DirectX上都通用的知識,但是卻并沒有在最后把一個游戲給做出來。

我最后一次用OpenGL,是為了做一個自繪的C++GUI庫。這個庫的結(jié)構(gòu)比起現(xiàn)在的GacUI當然是沒法。當時用OpenGL來做GUI的時候,讓我感覺到要操作和渲染字符串在OpenGL上是困難重重,已經(jīng)難到了幾乎沒辦法處理一些高級文字效果(譬如RichText的渲染)的地步了。最后只能每次都用GDI畫完之后把圖片作為一個貼圖保存起來。OpenGL貼圖數(shù)量有限,為了做這個事情還得搞一個貼圖管理器,把不同的文字都貼到同一張圖上。做得筋疲力盡之余,效果還不好。當我后來開發(fā)GacUI的時候,我用GDI和DirectX作為兩個渲染器后端,都成功的把RichText渲染實現(xiàn)出來了,我就覺得我以后應(yīng)該再也不會使用OpenGL了。GDI和DirectX才是那種完整的繪圖API,OpenGL只能用來畫圖,寫不了字。

有些人可能會覺得,為什么我會一直在同時做圖形圖像、編譯器和GUI的事情。大家還記得上文我曾經(jīng)說過我曾經(jīng)用了好久做了一個伊蘇那種模式的RPG出來。其實我一直都很想走游戲開發(fā)的路線,可惜由于各種現(xiàn)實原因,最后我沒有把這件事情當成工作。做出那個RPG的時候我也很開心,絲毫不亞于我畢業(yè)后用C#寫出了一個帶智能提示的代碼編輯器的那一次。當然在上大學之后我已經(jīng)覺得沒有一個美工是做不出什么好游戲的,但是想花時間跟你一起干的美工同學又很難找,因此干脆就來研究游戲里面的各種技術(shù),于是就變成了今天這個樣子。當然,現(xiàn)在開發(fā)游戲的心思還在,我想等過些時日能夠空閑了下來,我就來忽悠個美工妹紙慢慢搞這個事情。

雖然說《Visual Basic高級圖形程序設(shè)計教程》是一本好書,但這只是一本好的入門書,想要深入了解這方面的內(nèi)容還是免不了花時間看其他材料的。后來我跟何詠一起做圖形的時候,知識大部分來源于論文。不過圖像方面,還是下面這本岡薩雷斯寫的《數(shù)字圖像處理》給了我相當多的知識。

這本書的特點是,里面沒有代碼,我很喜歡,不會覺得浪費錢。不過可惜的是在看完這本書之后,我已經(jīng)沒有真的去寫什么圖像處理的東西了。后面做軟件渲染的時候,我也沒有把它當成我的主業(yè)來做,權(quán)當是消磨時間。每當我找不到程序可以寫覺得很傷心的時候,就來看看論文,改改我那個軟件渲染器,增加點功能之后,我就會發(fā)現(xiàn)一個新的課題,然后把時間都花在那上面。

三、

整個高三的成績都不錯,所以把時間花在編程上的時候沒人理我,直到我二模一落千丈,因此在高考前一個月只好“封筆”,好好學習。最后因為失誤看錯了題目,在高考的時候丟了十幾分的原始分,估計換算成標準分應(yīng)該有幾十分之多吧,于是去了華南理工大學。所幸這本來就是我的第一志愿,所以當時我也不覺得有什么不開心的。去了華南理工大學之后,一個令我感到十分振奮的事情就是,學校里面有圖書館,圖書館的書還都不錯。雖然大部分都很爛,但是因為基數(shù)大,所以總能夠很輕松的找到一些值得看的東西。

我還記得我們那一年比較特殊,一進去就要軍訓。軍訓的時候電腦還沒來得及帶去學校,學校也不給開網(wǎng)絡(luò),所以那一個月的晚上都很無聊,跟同學也還不熟悉,不知道要干什么。所以那段時間每到軍訓吃晚飯,我就會跑到學校的圖書館里面泡到閉館為止。于是有一天讓我發(fā)現(xiàn)了李維寫的這本《Inside VCL》。

雖然到了這個時候我用Delphi已經(jīng)用得很熟悉了,同時也能寫一些比較復雜的程序了,但是對于Delphi本身的運作過程我是一點都不知道。所以當我發(fā)現(xiàn)這本書的時候,如魚得水。這本書不僅內(nèi)容深刻,更重要的是寫的一點都不晦澀難懂,所以我看的速度非???。基本上每個晚上都可以看100頁,連續(xù)七八天下來這本書就被我翻完了。這帶來了一個副作用就是,圖書館的姐姐也認識我了——當然這并沒有什么用。

過后我又在書店得到了一本《Delphi 源代碼分析》。

這本書跟《Inside VCL》的區(qū)別是,《Inside VCL》講的是VCL的設(shè)計是如何精妙,《Delphi 源代碼分析》講的則是Delphi本身的基礎(chǔ)設(shè)施的內(nèi)部實現(xiàn)的細節(jié)。以前我從來不了解也沒主動想過,Delphi的AnsiString和UnicodeString是指向一個帶長度記錄的字符串指針,學習了指針我也沒把這兩者聯(lián)系起來(當然這跟我當時還沒開始試圖寫C++程序有關(guān))。于是看了這本書,我就有一種醍醐灌頂?shù)母杏X。雖然這一切看起來都是那么的自然,讓我覺得“就是應(yīng)該這么實現(xiàn)的才對”,但是在接觸之前,就是沒有去想過這個事情。

令人遺憾的是,在我得到這本書的同時,Borland也把Delphi獨立出來做了一個叫做Codegear的公司,后來轉(zhuǎn)手賣掉了。我在用Delphi的時候還想著,以后干脆去Borland算了,東西做得那么好,在那里工作肯定很開心。我在高中的時候還曾經(jīng)把Borland那個漂亮的總部的圖片給我媽看過,不過她一直以為是微軟的。于是我在傷心了兩個晚上之后,看了一眼為了做參考我?guī)У綄W校來的《Visual C++ 5.0語言參考手冊》,找了一個盜版的Visual C++ 2005,開始決定把時間投入在C++上面了。于是Delphi之旅到此結(jié)束,從此之后,就是C++的時光了。

四、

學習圖形學的內(nèi)容讓我學會了如何寫一個高性能的計算密集型程序,也讓我不會跟很多程序員一樣排斥數(shù)學的內(nèi)容。學習Delphi讓我開闊了眼界的同時,還有機會讓我了解Delphi內(nèi)部工作原理和細節(jié)。這一切都為我之后做那些靠譜的編譯器打下了基礎(chǔ)。

因為在高三的時候我在不懂得《編譯原理》和大部分數(shù)據(jù)結(jié)構(gòu)的知識的情況下,用Delphi寫出了一個Pascal腳本引擎,所以當我聽說我大學的班主任是教編譯原理的時候,我就很開心,去跟她交流這方面的內(nèi)容,把我當時的設(shè)想也拿給她看。當然我的設(shè)想,沒有理論基礎(chǔ)的知識,都是很糟糕的,于是班主任就給了我一本《編譯原理》。當然,這并不是《龍書》,而是一本質(zhì)量普通的書。不過當我了解了這方面的內(nèi)容之后,《龍書》的大名也就進入我的耳朵里了:

由于之前用很愚蠢的方法寫了個Pascal腳本的緣故,看《龍書》之后很容易就理解了里面各種精妙的算法在工程上的好處。我之前的作法是先用掃描的方法切下一個一個的token,然后做一個遞歸來遞歸去復雜到自己都沒法看的一遍掃描生成簡單指令的方法來做。程序?qū)懗鰜碇笪耶攬鼍鸵呀?jīng)看不懂了。自從看了《龍書》之后,我才知道這些過程可以用token和語法樹來對算法之間進行解耦。不過《龍書》的性質(zhì)也是跟《Visual Basic 高級圖形程序設(shè)計教程》一樣,是入門類的書籍。用來理解一下編譯器的運作過程是沒問題的,但是一旦需要用到高級的知識。

這個時候我已經(jīng)初步理解了編譯器前端的一些知識,但是后端——譬如代碼生成和垃圾收集——卻還是一知半解。不過這并不妨礙我用好的前端知識和爛的后端知識來做出一個東西來。當時我簡單看了一下Java語言的語法,把我不喜歡的那些東西砍掉,然后給他加上了泛型。Java那個時候的泛型實現(xiàn)好像也是剛剛出現(xiàn)的,但是我不知道,我也從來沒想過泛型要怎么實現(xiàn)。所以當時我想來想去做了一個決定,泛型只讓編譯器去檢查就好了,編譯的時候那些T都當成object來處理,然后就把東西做出來了。我本來以為我這種偷工減料拆東墻補西墻忽悠傻逼用戶的方法是業(yè)界所不容的,不過后來發(fā)現(xiàn)Java竟然也是那么做的,讓我覺得我一定要黑他一輩子。后來我用我做的這個破語言寫了一個俄羅斯方塊的游戲,拿給了我的班主任看,向她證明她拿給我的書我沒有白看。

不過由于受到了Delphi的影響,我并沒有在我的C++代碼里面使用泛型。當時由于不了解STL,也懶得去看,于是自己就嘗試折騰這么幾個容器類自己用?,F(xiàn)在代碼還留著,可以給大家貼一段:

這段代碼已經(jīng)可以作為反面教材使用了。除了基類有一個virtual的析構(gòu)函數(shù)和代碼對齊的比較漂亮以外,基本所有的地方都是設(shè)計錯誤的典型表現(xiàn)。為了這段代碼的貼圖我特地在硬盤里面翻出來了我那個山寨Java腳本的代碼,一打開就有一股傻逼的氣息撲面而來,截圖放進word之后,屏幕猶如溢屎,內(nèi)容不堪入目。

之所以把代碼寫成這樣,跟Delphi的class不是值類型的這個功能是分不開的。寫了幾年的Delphi之后,再加上第一次開始寫有點小規(guī)模的C++程序,我從來沒考慮過一個用來new的class是可以創(chuàng)建成值類型的。所以那個時候我一直處于用C++的語法來寫Delphi的狀態(tài)上。當然這樣是不對的,但是因為那一段時間運氣比較背,好的C++書都沒給我碰上,直到我看到了《C++語言的設(shè)計和演化》

C++他爹寫的這本《C++語言的設(shè)計和演化》是一本好書,我認為每一個學習C++的人都應(yīng)該看。本來《C++Primer》也是一本不錯的書,不過因為我陰差陽錯用了《Visual C++ 5.0 語言參考手冊》入門,所以這本書就被我跳過了。一開始C++用得很爛,覺得渾身不舒服,但是有知道為什么。看了這本書之后很多疑問就解決了。

《C++語言的設(shè)計和演化》講的是當年C++他爹發(fā)明C++的時候如何對語言的各種功能做取舍的故事。在這個長篇小說里面,C++他爹不厭其煩地說,雖然C++看起來很鳥,但是如果不這樣做,那就會更鳥。看完了這本書之后,基本上就剩下不會模板元編程了,剩下的語言的功能都知道在什么時候應(yīng)該用,什么時候不該用。C++他爹還描述了一些重要的類——譬如說智能指針和STL的迭代器——在語義上的意思。其實這就跟我們在看待C++11的shared_ptr、unique_ptr和weak_ptr的時候,不要去想這是一個delete對象的策略,而是要想這是一個描述對象所有權(quán)關(guān)系的這么個“關(guān)鍵字”一樣。有些時候細節(jié)看得太明白,而忽略了更高層次上的抽象,此乃見樹木不見森林。

C++知道每一個特性如何正常使用還不夠,如果不知道他們是如何實現(xiàn)的,那有可能在非常極端的情況下,寫出來的程序會發(fā)揮的不好。正如同如果你知道C++編譯器、操作系統(tǒng)和CPU內(nèi)部是如何處理這些東西的細節(jié),如果你順著他們?nèi)懩愕某绦虻脑?#xff0c;那性能的提高會特別明顯。譬如說在做渲染器的時候,為什么光線追蹤要按照希爾伯特順序來發(fā)射光線,為什么KD樹可以把每一個節(jié)點壓縮成8個字節(jié)的同時還會建議你按層來排列他們,都是因為這些背后的細節(jié)所致。這些細節(jié)做得好,渲染器的效率提高一倍是完全沒問題的。這些知識固然很多,但是C++的那部分,卻包含在了一本《深度探索C++對象模型》里面:

讀《深度探索C++對象模型》,不僅僅是為了知道C++在涉及虛擬多重繼承基類的成員函數(shù)指針結(jié)構(gòu)是怎樣的,而且你還可以從中學到很多技巧——當然是指數(shù)據(jù)結(jié)構(gòu)的技巧。這本書的內(nèi)容大概分為兩個部分。第一個部分就跟需求一樣,會跟你介紹C++的對象模型的語義,主要就是告訴你,如果你這樣寫,那你就可以獲得XXX,失去YYY。第二部分就跟實現(xiàn)一樣。按照需求來得到一個好的實現(xiàn)總是一個程序員想做的事情,那么這就是個很好的例子。正常使用C++需要的無限智慧,大部分就包含在上面這兩本書里面。一旦把這兩本書的內(nèi)容都理解好,以后寫起C++的代碼都會得心應(yīng)手,不會被各種坑所困擾,正確審視自己的代碼。

文章之前的部分有提到過,讓我正視理論和方法論的意義的是《凌波微步》,所以當工具都掌握的差不多的時候,總需要花時間補一補這方面的內(nèi)容。首當其沖當然就是大家喜聞樂見的《算法導論》了。我記得當時是唐良同學推薦給我的這本書,還重點強調(diào)了一定要看原文,因為中文的翻譯不行。所以我就在一個春光明媚的早上,來到了廣州天河書城,把這本書搞到手。

這本書的封面顏色暗示著你,想讀這本書, 應(yīng)該去一個山清水秀綠蔭環(huán)繞的地方。事實證明這是對的。在差不多考英語四級的前后,我有一段時間每天都去華南理工大學那個著名的分手亭看這本書。亭子后面是一個湖,前面有很多樹和雜草,旁邊還有一個藝術(shù)學院,充滿了人文的氣息。在這種地方看《算法導論》,不僅吸收得快,而且過了一年,我真的分手了。

說實話這本書我沒有看完,而且那些證明的部分我都跳過了,實在是對這些東西沒有興趣。不過關(guān)于數(shù)據(jù)結(jié)構(gòu)和大部分算法我看得很仔細。于是我在這方面的能力就大幅度提高——當然跟那些搞ACM的人相比反應(yīng)還是不夠快,不過我的志向并不在這里。除此之外,我通過《算法導論》也學到了如何準確的計算一個函數(shù)的時間復雜度和空間復雜度。事實證明這個技能十分重要,不僅可以用來找bug,還可以用來面試。

五、

對于一個讀計算機的大學生來說,算法懂了,工具會了,接下來就是開眼界了。不過這些東西我覺得是沒法強求的,就像下面這本《程序設(shè)計語言——實踐之路》一樣,都是靠運氣才到手的——這是一個小師妹送我的生日禮物:

原本學習的匯編也好,VB、Delphi和C++也好,都是同一類的編程語言。這導致我在相當長的時間里面都無疑為編程就差不多是這個樣子。直到我看到了《程序設(shè)計語言——實踐之路》。這本書告訴我,這個世界上除了命令是語言,還有各種不同的編程的范式和方法。于是借著這本書的機會,我了解到世界上還有Prolog、Erlang和Haskell這么美妙的語言。

這對我的觸動很大。一直以來我都是用一種編程方法來解決所有我遇到的問題的。然后突然有一天,我發(fā)現(xiàn)有很多問題用別的方法來解決更好,于是我就開始去研究這方面的內(nèi)容。一開始我的認識還是比較淺,應(yīng)用這些方法的時候還處于只能了解表面的狀態(tài),譬如說曾經(jīng)流行過幾天的Fluent Interface,還有聲明式編程啊,AOP等等。直到我遇到了這本全面改變我對C++模板看法的書——《Real World Haskell》:

是的,你沒看錯,是《Real World Haskell》!Haskell顛覆了我的世界觀,讓我第一次知道,原來代碼也是可以推導的。說實話我用Haskell用的并不熟,而且我也沒寫過多少個Haskell的大程序,但是Haskell的很多方面我都去花了很長時間去了解,譬如那個著名的Monad。多虧了當時搞明白了Monad,我借助這方面的知識,理解了《Monadic Parser Combinator》這篇論文,還看懂a(chǎn)joo那篇著名的面向組合子編程系列。

當我終于明白了Haskell的類型推導之后,我終于體會到了Haskell和C++之間的巨大差異——Haskell的程序的邏輯,都是完全表達在函數(shù)簽名上的類型里面,而不是代碼里的。當你寫一個Haskell函數(shù)的時候,你首先要知道你的函數(shù)是什么類型的,接下來你就把代碼當成是方程的解一樣,找到一個滿足類型要求的實現(xiàn)。Haskell的表達式一環(huán)扣一環(huán),幾乎每兩個部分的類型都互相制約,要求特別嚴格。導致Haskell的程序只要編譯通過,基本上不用運行都有95%的概率是靠譜的,這一點其他語言遠遠達不到。而且Haskell的類庫(Hackage)之多覆蓋GUI、GPU程序、分布式、并發(fā)支持、圖像處理,甚至是網(wǎng)頁(Haskell Server Page)都有,用來寫實用的程序完全沒問題。之所以Haskell不流行,我覺得僅有的原因就是對初學者來說太難了,但是人們一旦熟悉了C的那一套,看Haskell的難度就更大了,比什么都不會的時候更大。

于是回過頭來,模板元編程也就變成一個很自然的東西了。你把模板元編程看成是一門語言,把“類型”本身看成是一個巨大的帶參數(shù)enum的一部分(scala叫case type),于是類型的名字就變成了值,那么模板元編程的技巧,其實就是對類型進行變換、操作和計算的過程。接下來只要會用模板的形式來表達if、while、函數(shù)調(diào)用和類型匹配,那掌握模板元編程是順利成章的事情。撇去type traits這些只是模板元編程的具體應(yīng)用不說,只要熟悉了Haskell,熟悉C++的模板語法,學會模板元編程,只需要一個下午——就是學會用蹩腳的方法來寫那些你早就熟悉了的控制流語句罷了。

當模板元編程變成了跟寫i++一樣自然的東西之后,我看語言的感覺也變了?,F(xiàn)在看到一個程序語言,再也不是學習與發(fā)這么簡單了,而是可以看到作者設(shè)計這門語言的時候想灌輸給你的價值觀。譬如說,為什么C語言的typedef長那個樣子的?因為他想告訴你,你int a;定義的是一個變量,那么typedef int a;就把這個變量的名字改成了類型的名字。為什么C語言定義函數(shù)的時候,參數(shù)是用逗號隔開?因為你調(diào)用函數(shù)的時候,也是用逗號來隔開參數(shù)的。這就是語法里面的一致性問題。一個一致性好的語言,一個有編程經(jīng)驗初學者只要學習到了其中的一部分,就可以推測他所想要的未知特性究竟是如何用于發(fā)表達出來的。一個一致性差的語言,你每一次學到一個新的功能或者語法,都是一個全新的形式,到處雜亂無章,讓人無可適從(所以我很討厭go,還不把go的library移植成C++直接用C++寫算了)。

從此之后,我就從一個解決問題的程序員,變成一個研究編程本身的程序員了。當然我并不去搞什么學術(shù)研究,我也不打算走在理論的前沿——這并不適合我,我還是覺得做一個程序員是更快樂一點的。這些知識在我后續(xù)學習開發(fā)編譯器和設(shè)計語言的時候,起了決定性的作用。而且當你知道如何設(shè)計一個優(yōu)美的語法,那么你用現(xiàn)有的語法來設(shè)計一個優(yōu)美的library,也就不會那么難了。當然,設(shè)計優(yōu)美的library是需要深入的了解正在使用的語言本身的,這樣的話有可能維護這個library的門檻就會提高。不過這沒有關(guān)系,這個世界上本來就有很多東西是2000塊錢的程序員所無法完成的,譬如維護STL,維護linux內(nèi)核,甚至是維護Microsoft Office。

六、

上面所列出來的書,每一本都是對我有深刻的影響的。當然光有深刻的影響是不夠的,具體的領(lǐng)域的知識,還是需要更多的資料來深入研究,譬如說下面的一個單子,就是我在學習開發(fā)編譯器和虛擬機的時候所看過的。內(nèi)容都很深刻,很適合消磨時間。在這里我要感謝g9yuayon同學,他在我需要開闊眼界的時候,給我提供了大量的資料,讓我得以快速成長,功不可沒。


虛擬機——系統(tǒng)與進程的通用平臺


Garbage Collection——Algorithms for Automatic Dynamic Memory Management


高級編譯器設(shè)計與實現(xiàn)(鯨書)


程序設(shè)計語言理論基礎(chǔ)


類型與程序設(shè)計語言


Parsing Techniques——A Practical Guide


The Implementation of Functional Programming Languages


from: http://www.cnblogs.com/geniusvczh/archive/2013/03/24/2978575.html

總結(jié)

以上是生活随笔為你收集整理的伴随我成长的编程书的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

欧美,日韩| 亚洲激情在线播放 | 国产精品久久久久国产精品日日 | 国产精品黄色影片导航在线观看 | 国产美女无遮挡永久免费 | 国产精品va在线播放 | 国产成人三级三级三级97 | 人人射人人射 | 婷婷综合av| 在线观看免费福利 | 国产成人精品一区一区一区 | 日本久久久亚洲精品 | av蜜桃在线| 看黄色91| 国产高清久久久 | 久久黄色免费 | 视频三区 | www.com.黄| 91视频在线观看大全 | 九九热国产视频 | 91在线色| 免费三级影片 | 91中文字幕在线 | 91av电影在线 | 免费日p视频| 中文字幕免费高清av | 免费看国产一级片 | 久久精品亚洲一区二区三区观看模式 | 婷婷在线观看视频 | 中文字幕免费一区二区 | 97精品国产97久久久久久春色 | 超碰九九 | 亚洲砖区区免费 | 国产精品久久久久久五月尺 | 久久艹中文字幕 | 日韩性久久 | 狠狠干狠狠艹 | 日韩视频一区二区在线 | 日日爽日日操 | 久久久久久不卡 | 精品成人在线 | 在线小视频你懂的 | ww视频在线观看 | 久久超碰网| 久久在线免费观看视频 | 国产丝袜在线 | 婷婷中文字幕综合 | 一区二区三区在线播放 | 毛片无卡免费无播放器 | 伊人影院得得 | 国产 中文 日韩 欧美 | 日韩精品一区二区三区在线播放 | 亚洲精品综合一二三区在线观看 | 久久国产精品影片 | 狠狠色丁香久久婷婷综 | 精品久久久久一区二区国产 | 国产精品1区2区3区 久久免费视频7 | 国产xxxx| 亚洲高清激情 | 精品亚洲免a | 亚洲女裸体 | 久草视频一区 | 国产成人精品综合久久久 | 精品亚洲在线 | 看片网站黄 | 日日婷婷夜日日天干 | 欧美日韩亚洲在线观看 | 在线观看完整版免费 | 特级a毛片 | 免费99精品国产自在在线 | 国产精选在线 | 日日射天天射 | 国产精品九九久久久久久久 | 毛片精品免费在线观看 | 又湿又紧又大又爽a视频国产 | 五月天婷亚洲天综合网精品偷 | 黄色三级久久 | 亚洲成av人影院 | 国产麻豆精品传媒av国产下载 | 免费a现在观看 | 国产一区二区三区在线 | 久久人人添人人爽添人人88v | 久久精品xxx | 男女激情免费网站 | 久久电影色 | 免费福利在线 | 中文av在线播放 | av在线播放快速免费阴 | 97综合视频| 天天摸天天干天天操天天射 | 伊人中文字幕在线 | 国产精品 日韩 欧美 | 亚洲一区二区三区毛片 | 欧洲精品在线视频 | 久久se视频| 久草在线观看视频免费 | 丁香伊人网| 国产99久久精品一区二区永久免费 | 在线播放精品一区二区三区 | 一级a毛片高清视频 | 国产乱老熟视频网88av | 成人免费网站在线观看 | 一区二区三区污 | 欧美在线观看视频免费 | 91麻豆精品国产91久久久久 | 久久99精品久久久久久 | 亚洲 欧美 成人 | 丁香久久| 久久综合免费视频影院 | 99久久婷婷国产 | 日韩一区二区三区免费电影 | 久久免费一 | 久久1电影院| 久草视频视频在线播放 | 色综合天天综合 | 久草在线综合网 | 日韩在线一区二区免费 | 欧洲精品码一区二区三区免费看 | 黄色com | 久久高清视频免费 | 插综合网 | 一区二区三区免费网站 | 国产精品一区二区av麻豆 | 天天色天天射天天操 | 欧美成人h版 | 992tv在线观看网站 | 午夜精品久久一牛影视 | 国产高清av免费在线观看 | 欧美色图另类 | 久久一区二区三区超碰国产精品 | 久久涩涩网站 | 中文字幕av在线免费 | 欧美成人在线免费 | 久久艹综合 | 久久免费视频7 | 中文字幕区 | 日本性生活免费看 | 中文字幕资源在线 | 欧美日韩视频一区二区 | 国产色秀视频 | 不卡av在线免费观看 | 国产精品国产三级国产aⅴ9色 | 美女黄视频免费看 | 九九九免费视频 | 丁香花在线视频观看免费 | 国产污视频在线观看 | 亚洲精品理论片 | 亚洲三级在线播放 | 午夜精品一区二区三区视频免费看 | 婷色在线 | 国产成人av电影在线 | 伊人热 | 日韩在线观看视频中文字幕 | 色综合久久久久久久久五月 | 国产成人精品一区二区 | 五月激情片 | 中文字幕免费高清 | 一区二区欧美日韩 | 日韩中文字幕91 | 欧美日在线观看 | 国产午夜在线观看视频 | 欧美日韩国产一二 | 人人擦| 日韩欧美精品一区二区 | 丁香六月色 | 亚洲 欧美 变态 国产 另类 | 天天爽人人爽 | 亚洲欧美日韩在线看 | 久久福利精品 | 在线直播av| 欧美在线观看小视频 | 69国产精品视频免费观看 | 狠狠操狠狠| 久久人人爽人人爽 | 麻豆国产网站入口 | 久久这里只精品 | 久久日韩精品 | 国产日产欧美在线观看 | 91高清在线看 | www.成人久久 | 91人人爽人人爽人人精88v | 午夜18视频在线观看 | 精品视频在线观看 | 天天操天天谢 | 国产精选在线 | 亚洲 欧洲 国产 日本 综合 | 麻豆视频国产精品 | 久久成人国产 | 992tv在线| 999视频精品 | 一区二区三区在线免费观看 | 天堂网一区| 久久人人爽人人爽 | a黄色片 | 久久99久久精品国产 | 2023亚洲精品国偷拍自产在线 | 天堂在线一区二区 | 成人av在线电影 | 国产精品久久久久久高潮 | 日韩视频一二三区 | 五月天色综合 | 91麻豆福利| 久久a v视频| 欧美肥妇free | 亚洲一区精品人人爽人人躁 | 在线免费观看国产精品 | 亚洲人天堂 | 色综合天天综合 | 97久久精品午夜一区二区 | 中文字幕av在线播放 | 97在线精品视频 | 久久字幕网 | av网站在线免费观看 | 久久深夜福利免费观看 | 奇米导航| 色资源在线 | 久亚洲 | 国产美女在线观看 | 黄色小网站在线 | 操操色 | 国产专区在线看 | 久久永久免费 | 人人干人人干人人干 | 91av在线电影 | www.色com | 激情欧美丁香 | 日韩av在线不卡 | 国产在线观看91 | 久久久久久久久久网 | 国产护士av | 国产手机视频在线观看 | 国产精品女同一区二区三区久久夜 | 二区三区精品 | 精品99在线视频 | 国产精品爽爽久久久久久蜜臀 | 国产a免费 | 日韩免费一区 | www.av在线播放| 中文字幕在线播出 | av一区二区在线观看中文字幕 | av在线免费在线观看 | 亚洲一区二区精品视频 | 久久免费视频8 | 日韩有色| av黄色在线播放 | 99热精品久久 | 国产精品一区二区久久 | 麻豆免费看片 | 人人爽久久久噜噜噜电影 | 国模精品一区二区三区 | 日本久久中文字幕 | 激情五月综合 | 肉色欧美久久久久久久免费看 | 久久精品99久久久久久2456 | 波多野结衣在线观看一区二区三区 | 欧美精品久久久 | 日本在线观看一区二区三区 | 蜜臀一区二区三区精品免费视频 | av免费线看 | 一本色道久久综合亚洲二区三区 | 国产成人精品一二三区 | 中文字幕免费高清在线观看 | 探花视频在线版播放免费观看 | 日韩网站在线播放 | 亚洲毛片在线观看. | 三级免费黄 | 久操视频在线观看 | 99精品在线免费观看 | 国产裸体bbb视频 | 韩国一区二区在线观看 | 亚洲一区美女视频在线观看免费 | 久久久91精品国产一区二区三区 | 国产精品爽爽久久久久久蜜臀 | 久久曰视频 | 一区二区三区高清在线 | 成人av中文字幕在线观看 | 久草在线手机视频 | 久久国产网站 | 五月天天av | 一级黄色片在线 | 91片网| 亚洲欧美日韩国产精品一区午夜 | 免费a视频在线 | 九九九在线观看视频 | 麻豆视频免费 | 日本成人免费在线观看 | 亚洲国产中文在线观看 | 免费看v片| 成人午夜精品 | 精品亚洲成a人在线观看 | 手机看片国产日韩 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | av成人免费| 欧美色888 | 五月天综合激情 | 欧美精品免费在线 | 在线观看国产一区二区 | 91成版人在线观看入口 | 精品国产免费久久 | 中文字幕丝袜一区二区 | 亚洲免费国产视频 | 日韩av视屏在线观看 | 99精品毛片| 久久黄色网页 | 国产精品久久久久久久久久白浆 | 色综合久久久久综合体桃花网 | 91亚洲精品国偷拍 | 中文在线www | 18久久久| 91亚洲精品久久久久图片蜜桃 | 人人爽人人搞 | 日韩免费一级a毛片在线播放一级 | 99久久婷婷 | 麻豆91精品| 808电影 | www.91成人| 国产成人一区二区三区电影 | av免费看在线 | 日本性久久 | 丁香激情五月 | 在线观看成人av | 久久综合亚洲鲁鲁五月久久 | 精品a视频 | 国产色道 | 国模一区二区三区四区 | 精品亚洲一区二区三区 | 亚洲四虎| 黄色小视频在线观看免费 | 亚洲jizzjizz日本少妇 | 国产福利一区二区三区在线观看 | 国产精品99久久久久久久久久久久 | 免费a v观看 | 成人av影视观看 | 日韩欧美不卡 | 亚洲少妇自拍 | 福利区在线观看 | 成人啪啪18免费游戏链接 | 正在播放国产一区二区 | 香蕉影视在线观看 | 成人国产精品电影 | 五月天婷婷丁香花 | 91视频网址入口 | 欧美日韩国产一区二区三区在线观看 | 在线观看黄a | 国产一区二区观看 | 亚洲国产一二三 | 你操综合| 九九免费观看全部免费视频 | 欧美日韩一区二区在线观看 | 伊人午夜视频 | 1000部国产精品成人观看 | 四虎5151久久欧美毛片 | 国产午夜精品福利视频 | 亚洲视频电影在线 | 亚洲深夜影院 | 日韩视频在线不卡 | 色射爱 | 日本最新高清不卡中文字幕 | 四虎永久网站 | 91香蕉国产在线观看软件 | 国际精品网 | 国产经典三级 | 久久伦理影院 | 久久福利综合 | 亚洲经典在线 | 国产1级毛片 | 奇米777777| 人人爽人人舔 | 亚洲欧美国产视频 | 国产精品女同一区二区三区久久夜 | 欧美性黑人 | 色在线国产 | 久久电影国产免费久久电影 | 久操久 | 99久久久久久国产精品 | 亚洲精品国产高清 | 国产一级久久久 | 在线观看91视频 | av成人资源 | 91试看 | 国产精品一区二区久久久 | 久久国精品| 欧美亚洲成人xxx | 国产精品av电影 | 91麻豆精品国产91久久久久久久久 | 欧美日韩国产精品一区二区三区 | 人人爽久久涩噜噜噜网站 | 四虎成人精品永久免费av | 久久影视中文字幕 | 丁香婷婷电影 | 午夜视频一区二区 | 少妇自拍av | 丁香六月婷婷综合 | 国产日韩精品一区二区在线观看播放 | 亚洲 欧洲 国产 日本 综合 | 欧美精品做受xxx性少妇 | 久久综合九色综合久久久精品综合 | 91亚洲免费| 久久久国产精品人人片99精片欧美一 | 国产一性一爱一乱一交 | 99久久国产免费看 | 少妇搡bbb| 九九在线免费视频 | 国产一区高清在线观看 | 中文字幕在线观看日本 | 国产一区二区手机在线观看 | 国产成人一区二区三区 | 成人久久久久 | 国产98色在线 | 日韩 | 手机看片午夜 | 中文字幕超清在线免费 | 久久国产精品99久久久久久丝袜 | 黄色三级免费网址 | 天天超碰| 91精品国产麻豆 | 国产精品免费久久久久久久久久中文 | 国产小视频免费在线观看 | 亚洲伊人成综合网 | 久久在线免费观看视频 | 狠狠的操| 国产精品久久久久亚洲影视 | 亚洲三级国产 | 中文网丁香综合网 | 亚洲高清在线精品 | japanesexxxhd奶水 91在线精品一区二区 | 亚洲精品456在线播放第一页 | 国产成人av电影在线观看 | 88av色| 精品欧美一区二区在线观看 | 欧美性猛片 | 成人av免费播放 | 成年美女黄网站色大片免费看 | 黄a网| 亚洲综合成人专区片 | 亚洲国产精品电影在线观看 | h视频在线看 | 国产手机在线播放 | 久草新在线 | 中文字幕在线观看第一区 | 在线观看视频一区二区三区 | 婷婷丁香激情网 | 色偷偷88888欧美精品久久 | 日韩精品欧美精品 | 在线观看日韩免费视频 | 国产精成人品免费观看 | 一区在线播放 | 人人澡人 | 久久视频网 | 久久不射影院 | 免费在线观看黄色网 | 午夜在线免费视频 | 天天在线视频色 | 香蕉一区| 日韩中文在线视频 | 免费a v视频 | 正在播放 国产精品 | 国产精品国产亚洲精品看不卡15 | 久久久久 | 欧美日韩伦理一区 | 久久久久亚洲精品成人网小说 | 又污又黄的网站 | 国产精品人成电影在线观看 | 探花视频在线观看 | 在线观看国产91 | 亚洲最新av | 天天综合网天天 | 欧美一级艳片视频免费观看 | 久久中文字幕在线视频 | 国产精品电影一区 | av免费网站在线观看 | 国产成人精品一区二 | 一区av在线播放 | 麻豆91精品 | 国产系列精品av | 国产亚洲免费观看 | 97综合视频 | 香蕉日日| 国产精品美女在线 | www.香蕉视频 | 一区在线观看 | 天堂av高清 | 超碰在线人人97 | 日日夜夜网| 五月综合 | 99免费视频 | 毛片久久久 | 成年人黄色大全 | 亚洲国产精品va在线看黑人 | 国产亚洲情侣一区二区无 | 中文字幕日韩电影 | 不卡精品 | 99热这里只有精品1 av中文字幕日韩 | 国产一区二区精品在线 | av成人免费网站 | 亚洲精品乱码久久久久久久久久 | 久久久久久久久久亚洲精品 | 狠狠躁日日躁狂躁夜夜躁av | 精品久久久久久国产 | 在线观看中文字幕2021 | 成 人 黄 色 片 在线播放 | 麻豆国产精品va在线观看不卡 | 手机看片 | 亚洲国产99 | 国产成人精品av在线 | 婷婷在线精品视频 | 久草免费手机视频 | 久久一区二区三区超碰国产精品 | www.com久久| 在线日韩中文 | 国产在线 一区二区三区 | 一本色道久久综合亚洲二区三区 | 日本在线视频一区二区三区 | 久久国产精品视频观看 | 国产精品一区久久久久 | www久久久 | 一区在线观看 | 349k.cc看片app| 黄污网站在线观看 | 伊人五月天婷婷 | 国产亚洲精品电影 | 色在线中文字幕 | 狠狠操狠狠操 | 亚洲精品国偷自产在线99热 | 九九av | 中文字幕在线播放日韩 | 激情五月六月婷婷 | www.91av在线| 国产精品久久久久久99 | 国产精品自在线拍国产 | 在线视频电影 | 91精品啪在线观看国产81旧版 | 欧洲在线免费视频 | 美女视频黄频 | 精品亚洲免费 | 午夜av免费看 | 精品国产一区二区三区久久久蜜臀 | 99色婷婷 | 97视频免费在线 | 激情婷婷六月 | 成人免费视频网站 | 日一日操一操 | 亚洲播放一区 | 国产视频1 | 色综合天天在线 | 99在线精品视频在线观看 | 色综合天天做天天爱 | 天躁狠狠躁 | 亚洲精品视频免费在线观看 | 久久艹久久 | 99精品国产视频 | 成人黄色小说视频 | 三级av在线免费观看 | 黄色电影网站在线观看 | 国产亚洲aⅴaaaaaa毛片 | 97在线精品国自产拍中文 | 黄色av大片 | 中文字幕在线久一本久 | 天天艹 | 免费高清男女打扑克视频 | 91成人久久| 四虎影视av | 99国产精品免费网站 | 国产精品久久久久av免费 | 午夜精品一二三区 | a久久免费视频 | 亚洲五月婷婷 | а天堂中文最新一区二区三区 | 中文区中文字幕免费看 | 人人插人人| 黄色免费网站下载 | 手机看片99 | 中文字幕在线观看网站 | 久久精彩免费视频 | 国产成人免费观看久久久 | 激情综合网色播五月 | 国产成人高清av | 亚洲精品三级 | 天天操天天怕 | 久草www| 日韩日韩日韩日韩 | 成人福利在线观看 | 久久电影中文字幕视频 | 中文字幕亚洲在线观看 | 日韩二区三区在线观看 | 欧美一级性视频 | 99re国产视频 | 国产精品字幕 | 91在线观看视频 | 91综合视频在线观看 | 日韩在线字幕 | 久久国产精品99精国产 | 日日夜夜av | 精产嫩模国品一二三区 | 日本黄色免费在线 | 亚洲国产中文字幕在线观看 | 91精品办公室少妇高潮对白 | 97精品国产一二三产区 | 最新日韩在线观看视频 | 永久免费的啪啪网站免费观看浪潮 | 日韩在线播放视频 | 人人射av| 免费成人av网站 | 久草视频在线资源 | 久久首页 | 一区 二区电影免费在线观看 | 久久不射电影院 | 中文字幕欧美日韩va免费视频 | 99视频精品免费观看, | 国产美女在线免费观看 | 成人wwwxxx视频| 一区二区三区精品久久久 | 久久天天躁狠狠躁夜夜不卡公司 | 精品国产一区二区三区久久久蜜月 | 男女激情免费网站 | 麻豆91精品91久久久 | 欧美日韩精品在线视频 | 国产视频色 | 日韩久久精品一区二区三区下载 | h视频在线看 | 免费看日韩片 | 99视频精品免费视频 | 欧美午夜寂寞影院 | 狠狠色噜噜狠狠狠狠2021天天 | a极黄色片 | 国产国产人免费人成免费视频 | 精品91久久久久 | 一 级 黄 色 片免费看的 | 亚州精品在线视频 | 二区三区在线视频 | 亚洲精品玖玖玖av在线看 | 国产在线毛片 | 精品国产网址 | 亚洲一级电影 | 成人久久18免费网站图片 | 久久久久久久国产精品影院 | 婷婷在线免费观看 | 在线视频日韩欧美 | 色狠狠操| 96香蕉视频 | 日一日操一操 | 亚洲国产欧美一区二区三区丁香婷 | 在线中文字母电影观看 | 欧美片网站yy | 欧美日韩一区二区在线 | 国产高清在线免费 | 亚洲精品在线观看免费 | 久久久久久久久久久久久久av | 成人一区二区三区中文字幕 | 日韩电影一区二区在线观看 | 日本在线观看黄色 | 久久夜色精品国产欧美乱极品 | 五月婷婷深开心 | 精品 激情| 欧美日韩三级 | 成人性生交大片免费看中文网站 | 国产高清精| 色搞搞| 天天拍夜夜拍 | 久久69av| 久久99国产精品久久99 | 日韩精品中文字幕有码 | 69精品| 人人爽人人射 | 中文在线字幕免费观看 | 国产精品av免费观看 | 国产精品丝袜久久久久久久不卡 | 亚洲精品高清视频 | 波多野结衣一区二区 | 久久久久99精品国产片 | 欧美激情精品久久久久 | 一区二区三区精品在线视频 | 黄色影院在线免费观看 | 久操伊人 | www.国产毛片 | 成年人免费在线看 | 国内精品视频一区二区三区八戒 | 欧美日韩在线播放 | 丁香综合网 | 网站在线观看你们懂的 | 亚洲精品视频在线 | 88av视频| 亚洲一区欧美激情 | 成人动漫精品一区二区 | 免费在线国产视频 | 亚洲精品国产精品久久99热 | av电影在线免费 | 日韩va在线观看 | 久热久草在线 | 久久精品视频在线看 | 免费av成人在线 | 91 在线视频播放 | 五月婷婷香蕉 | 91亚洲永久精品 | 成年美女黄网站色大片免费看 | 中文字幕视频网站 | 97品白浆高清久久久久久 | 色综合久久88色综合天天 | 中文字幕黄网 | 一区二区精品国产 | 精品亚洲欧美一区 | 深夜免费网站 | 欧美老少交 | 亚洲精品av在线 | 亚洲男男gaygayxxxgv | 欧美日韩色婷婷 | 91精品久久久久久综合五月天 | 超级碰视频 | 亚洲视频在线观看免费 | 国产综合视频在线观看 | 国产香蕉97碰碰碰视频在线观看 | 成人免费视频免费观看 | 狠狠色狠狠色综合日日小说 | 精品国产精品久久一区免费式 | 亚洲精品久久久久久久不卡四虎 | 色婷婷国产精品 | 日韩欧美在线观看一区二区三区 | 国产一级精品视频 | 91一区二区三区久久久久国产乱 | 黄色一级在线观看 | 久久视 | 国产精品va最新国产精品视频 | 涩涩网站在线 | 深爱激情开心 | 日韩av免费观看网站 | 综合久久网站 | 999精品在线| 视频在线观看入口黄最新永久免费国产 | www.久久色| 国产一区在线精品 | 91亚洲精品乱码久久久久久蜜桃 | 人人澡澡人人 | 在线观看国产www | 亚洲精品久 | 国产精品夜夜夜一区二区三区尤 | 黄色免费观看网址 | 欧美日韩三区二区 | 欧美一二三视频 | 日本久久久影视 | 97超碰在线久草超碰在线观看 | 毛片网站免费在线观看 | 亚洲第一区在线播放 | 亚洲成人一二三 | 五月天婷婷视频 | www.久艹| 午夜 久久 tv | 天天插天天干天天操 | 久久99久久精品国产 | 中文字幕在线观看第一区 | 日韩欧美视频免费看 | 国产精品18久久久久vr手机版特色 | 九九热久久免费视频 | 精品一区电影国产 | 在线之家免费在线观看电影 | 手机成人在线 | av在线一二三区 | 奇米网在线观看 | 色婷婷影视| 久久香蕉一区 | 永久免费精品视频网站 | av中文字幕免费在线观看 | 91大神免费视频 | 国产综合福利在线 | 午夜视频在线观看一区二区三区 | 激情文学丁香 | 五月网婷婷 | 久久久久国产精品免费免费搜索 | 亚洲精品高清视频 | 亚洲成av人片一区二区梦乃 | 亚洲日日日 | 久久精品一区二区三区视频 | 日韩视频一区二区三区在线播放免费观看 | 欧美一区二区三区在线看 | 九九99 | 国产一区免费在线观看 | 丁香电影小说免费视频观看 | 国产精品中文 | 日韩精品一区不卡 | 在线性视频日韩欧美 | 97久久精品午夜一区二区 | 国产精品丝袜久久久久久久不卡 | 91手机电视 | 五月天婷婷狠狠 | 麻豆91在线看| 婷婷五综合 | 激情视频二区 | 天堂入口网站 | 色综合天天综合在线视频 | 免费视频资源 | 亚洲福利精品 | 亚洲欧美少妇 | 成人免费观看视频大全 | a视频在线观看免费 | 国产成人av电影在线观看 | 四虎在线视频 | 国产精品1区2区3区在线观看 | 色婷婷播放 | 成人黄色国产 | 黄色软件在线观看 | 免费视频你懂的 | 久久午夜国产精品 | 国产一区在线播放 | 国产精品18久久久久久久网站 | 免费在线观看av网址 | 在线韩国电影免费观影完整版 | 国产伦精品一区二区三区无广告 | 欧美另类交人妖 | 国产综合精品一区二区三区 | 久要激情网 | 亚洲电影一区二区 | 欧美va天堂va视频va在线 | 欧美一级久久久久 | 韩国在线视频一区 | 久久精品超碰 | 国产精品久久久久久久久毛片 | 欧美成人tv| av中文字幕剧情 | 亚洲高清视频一区二区三区 | av网站有哪些 | 亚洲精品99久久久久久 | 五月婷婷在线视频观看 | 夜夜爽夜夜操 | 日韩电影中文字幕在线 | 91精品久久久久久久91蜜桃 | 91成人精品国产刺激国语对白 | 久草五月| 美女网站黄在线观看 | 日韩一区在线免费观看 | 激情综合网五月婷婷 | 国内精品福利视频 | 毛片视频电影 | 色播六月天 | 成年人电影免费在线观看 | 国内外成人在线视频 | 日韩欧美国产精品 | 久色婷婷 | 婷婷在线资源 | 精品一区 在线 | 久久综合色婷婷 | 久久综合色天天久久综合图片 | 亚洲精品午夜久久久久久久 | 国产不卡视频 | 91精选在线观看 | 超薄丝袜一二三区 | 久色伊人 | 日韩高清av | 色综合天天视频在线观看 | 五月丁色 | 日韩欧美在线免费观看 | 色播六月天 | 国产精品国产三级国产不产一地 | www.黄色在线 | 久久久国产网站 | 久久综合九色综合久99 | 亚洲天天在线 | 国产人在线成免费视频 | 国产午夜三级一二三区 | 成人午夜剧场在线观看 | 免费福利小视频 | 国产在线精品福利 | 中文字幕丝袜美腿 | 国产黄在线免费观看 | 狠狠色丁香婷婷综合 | 日韩动漫免费观看高清完整版在线观看 | 国产精品综合在线观看 | 天天色天天操天天爽 | 国产原创在线观看 | 开心色插 | 日韩午夜视频在线观看 | 国产精品丝袜 | 国产三级久久久 | 日韩va亚洲va欧美va久久 | 日韩成人精品一区二区三区 | 99re热精品视频 | 婷婷射五月 | 色婷婷国产精品一区在线观看 | 欧美日韩国产精品一区 | 久久久免费 | 97av色 | 久久精品一区二区三 | 成人羞羞视频在线观看免费 | 久久精品一 | 日韩乱色精品一区二区 | 国产精品一区在线播放 | 玖玖999 | 青草视频在线播放 | 丁香六月婷 | 国产一区二区三区在线免费观看 | 婷婷综合亚洲 | 成人精品福利 | 国产精品综合久久久久久 | 在线观看国产 | 免费在线观看av网站 | www国产精品com | 992tv成人免费看片 | 久久久久久久久久国产精品 | av大全在线观看 | 午夜精品久久久久久久99 | 国产不卡毛片 | 成人免费视频网站在线观看 | 成年人网站免费观看 | 91亚洲精品国偷拍自产在线观看 | 国产精品区二区三区日本 | 国产手机视频在线播放 | 天天色官网 | 久久精品直播 | 婷婷激情综合五月天 | 五月婷婷中文字幕 | 在线国产一区 | 久久99精品国产99久久 | 国产中文字幕在线看 | 一区二区三区在线观看免费 | 深夜免费网站 | 九九免费在线观看 | 亚洲高清视频一区二区三区 | 国产高清av免费在线观看 | 国产一区二区三区高清播放 | 久久国产一区二区三区 | 国产高清视频网 | 免费精品视频 | 涩涩网站在线 | 国产精品孕妇 | 精品黄色在线观看 | 黄色a级片在线观看 | 色综合天天爱 | 西西444www大胆高清视频 | 午夜电影久久久 | 色婷婷亚洲婷婷 | 中文字幕一二三区 | 在线观看福利网站 | 亚洲成人av电影在线 | 黄色aa久久 | 亚洲国产手机在线 | 六月婷操 | 黄色1级毛片 | 97精品在线观看 | 日韩精品播放 | 日韩三级免费 | 欧美在线视频第一页 | av在线日韩 | 亚洲资源 | 中文字幕av在线电影 | 在线视频久 | 亚洲少妇影院 | 亚洲精品在线观看网站 | 亚洲精品456在线播放第一页 | 中文字幕在线看片 | 91一区二区三区久久久久国产乱 | 99精品视频在线观看视频 | 国产一区国产二区在线观看 | 中文字幕电影网 | 91禁看片 | 青青草华人在线视频 | 国产精品久久一区二区三区不卡 | 久久久久视 | 欧美-第1页-屁屁影院 | 综合激情av | 操操操日日 | 99久久久国产精品 | 三级在线视频播放 | 精品久久福利 | 国产成在线观看免费视频 | 久草视频网 | 手机在线看片日韩 | www.国产精品 | 天天色天天射天天综合网 | av电影在线观看完整版一区二区 | 久久久久久久网站 | 99视频精品全部免费 在线 | 久久成人免费 | 岛国精品一区二区 | 国产一级电影 | 五月综合色 | 在线观看中文字幕dvd播放 | 午夜视频色 | 国产精品不卡在线 | 福利二区视频 | 久久99精品国产99久久6尤 | 国产精品夜夜夜一区二区三区尤 | 狠狠狠狠狠狠操 | 亚洲天堂在线观看完整版 | 天天躁天天狠天天透 | 日韩.com | 香蕉视频国产在线 | 婷婷精品视频 | 中文字幕一区二区三 | 国产999视频| 欧美精品乱码久久久久久按摩 | 国产精品高潮呻吟久久av无 | 日韩免费福利 | 精品久久久久久久久久久院品网 | 99精品国产在热久久下载 | 999亚洲国产996395| 四虎永久免费在线观看 | 久久综合久久88 | 香蕉视频在线免费 | www日韩在线观看 | 久久在线观看视频 | 成人91在线|