久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


曙海教育集團論壇開發(fā)語言培訓專區(qū)C語言開發(fā) → 關(guān)于C和C++區(qū)別的討論


  共有7444人關(guān)注過本帖樹形打印

主題:關(guān)于C和C++區(qū)別的討論

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
關(guān)于C和C++區(qū)別的討論  發(fā)帖心情 Post By:2010-12-10 11:20:17

談點我個人的看法哈,一家之言,歡迎拍磚。

    我個人理解,這二者其實沒有太大差異性。

    C語言面向過程,OP,C++語言面向?qū)ο螅琌O.

    但實際上大家可能能關(guān)注到,不管如何OO,如何劃分類和對象,但是,具體到一個功能,還是要用函數(shù)來實現(xiàn),不管如何寫程序,到了函數(shù)內(nèi)部,其實還是那些if、for、while等等語句,還是面向過程的。

    所以,我和我的同事,平時并不會明顯去分辨C和C++的異同,在我們看來,二者本來就是一體的。

    其實這個世界上,完全的OO是不存在的,當我們實現(xiàn)一個功能的時候,很多時候,就是界定一些數(shù)據(jù),針對數(shù)據(jù)添加一些處理流程,獲得一個結(jié)果,這件事情,本質(zhì)上就是個過程。

    但C++還是很有用的。

    因為很多年以前,大家覺得傳統(tǒng)面向過程的語言,如C,如Basic,如Pascal,都有一個缺點,就是在程序中,彼此暴露了太多的細節(jié),這造成各個功能之間,由于程序員的失誤,很容易發(fā)生粘連,聯(lián)系。換而言之,就算是非法訪問,通常也是合法而成功的,不會被編譯器檢查出來。比如C就允許全局變量和遠指針調(diào)用。

    這在開發(fā)大型系統(tǒng)的時候,就出現(xiàn)了bug率居高不下,大型工程項目很難完成的缺點。

    正是因為此,大家在上世紀七十年代,提出了模塊化開發(fā)的思想,試圖通過各個模塊的獨立開發(fā)和運行,強行阻斷各個模塊不必要的耦合性,來達到讓程序穩(wěn)定的目的。

    但這樣畢竟是人工在操作,是人做的,就可能會犯錯誤,大家覺得有必要在編譯器這一級,要強調(diào)模塊之間的獨立性。

    這個時候,大家經(jīng)過分析,發(fā)現(xiàn)程序其實核心是和數(shù)據(jù)打交道的,一個數(shù)據(jù),業(yè)務上只要界定了用途,基本上,可能的訪問方法就確定得差不多了,那么,我們有沒有可能,把一類數(shù)據(jù),以及其方法,從編譯器的角度區(qū)別開來,構(gòu)建獨立模塊,外部模塊僅能訪問到它允許訪問的方法,其他的方法,全部報錯,拒絕編譯呢?

    答案是當然可以。大家就這么做了。那么,我們看看,一類數(shù)據(jù)和其允許的方法的集合,就是對象啦,在這個思想上,OO,面向?qū)ο蟮乃枷刖彤a(chǎn)生了。

    最初,這個語言是一個新的語言,好像叫smalltalk吧,不過,這個時候的語言,還是實驗室產(chǎn)品,沒有投入商業(yè)運營。

    但這個時候,市場上,由于UNIX的推動,C語言基本上已經(jīng)一統(tǒng)天下了。很多人都學的C語言,讓大家去學習一門新語言,尤其是開發(fā)思路完全不同的語言,是不可想象的,成本太高。大家就想,能不能折中一下,以C的語法為藍本,開發(fā)一套OO的語言,C++就這么誕生了。

    其實OP到OO,C到C++,本質(zhì)上講,就是一個數(shù)據(jù)私有化的過程。甚至整個語言的發(fā)展史,也是一個數(shù)據(jù)私有化的過程。如匯編語言,其實是沒有私有數(shù)據(jù)的,所有的內(nèi)存都可以被訪問。

    人們通過編譯器的界定和完善,逐漸實現(xiàn)數(shù)據(jù)私有化,最終的目標就是實現(xiàn)一個軟件系統(tǒng)內(nèi)部各個模塊之間,高內(nèi)聚,低耦合的目標,最終保證程序員的產(chǎn)品質(zhì)量,進而提高生產(chǎn)率。

    至于后面的泛型編程,多態(tài),繼承等等,無非是在這條路上繼續(xù)了一步而已,當然,也是為了盡量減少程序員的代碼輸入量,進一步提升生產(chǎn)效率而已。

    所以,從數(shù)據(jù)組織上講,C++比C先進了一大步,但從功能實現(xiàn)上講,C++和C并無本質(zhì)不同。C++到現(xiàn)在,都不是一種完全的面向?qū)ο笳Z言,因為它都仍然保留了全局變量。

    所以我的意見,兩個一起學,不要刻意去區(qū)分,好像用C就要用純C,沒必要。

    我們工程中,系統(tǒng)級的模塊組織,一般式C++的對象,每個單步功能,流程的實現(xiàn),我們都是C的函數(shù),僅僅是放在類里面而已


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

關(guān)于C和C++區(qū)別的討論








簽名
主站蜘蛛池模板: 一级毛片私人影院老司机 | 久青草国产手机在线观 | 成人免费视频社区 | 美女扒开腿让男人桶尿口 | 成人毛片18女人毛片免费 | 性色网址| 国产亚洲福利 | 亚洲不卡一区二区三区在线 | 中文字幕亚洲综合久久男男 | 亚洲精品国产专区一区 | 国内自拍tv在线 | 亚洲国产精品综合久久 | a级国产乱理伦片在线观看 a级国产乱理伦片在线观看99 | 欧美一区二区三区播放 | 国产成人一区二区三区在线播放 | 日本免费一区二区三区看片 | 暖暖在线精品日本中文 | 日本理论在线播放 | 欧美 日韩 国产在线 | 在线观看欧美一区 | 欧美特黄一级高清免费的香蕉 | 久久精彩视频 | 国产日韩欧美一区二区 | 亚洲精品国自产拍影院 | 欧美自拍另类 | 欧美成人影院在线观看三级 | 日本www视频 | 成年女人免费又黄又爽视频 | 日韩一区二区三区四区不卡 | 国产黄色a三级三级三级 | 成人自拍视频网站 | 国产精品久久久久免费视频 | 一级特级毛片免费 | 国产欧美日韩在线一区二区不卡 | 宫女淫春3在线观 | 国产精品久久久久影视不卡 | 日韩一区二区视频在线观看 | 成人免费夜片在线观看 | 老司机亚洲精品 | 日产毛片 | a级国产乱理伦片在线 |