<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  C語言開發  (http://www.hufushizhe.com/bbs/list.asp?boardid=62)
    ----  關于C和C++區別的討論  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=62&id=2406)

    --  作者:wangxinxin
    --  發布時間:2010-12-10 11:20:17
    --  關于C和C++區別的討論
    談點我個人的看法哈,一家之言,歡迎拍磚。

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

        C語言面向過程,OP,C++語言面向對象,OO.

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

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

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

        但C++還是很有用的。

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

        這在開發大型系統的時候,就出現了bug率居高不下,大型工程項目很難完成的缺點。

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

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

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

        答案是當然可以。大家就這么做了。那么,我們看看,一類數據和其允許的方法的集合,就是對象啦,在這個思想上,OO,面向對象的思想就產生了。

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

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

        其實OP到OO,C到C++,本質上講,就是一個數據私有化的過程。甚至整個語言的發展史,也是一個數據私有化的過程。如匯編語言,其實是沒有私有數據的,所有的內存都可以被訪問。

        人們通過編譯器的界定和完善,逐漸實現數據私有化,最終的目標就是實現一個軟件系統內部各個模塊之間,高內聚,低耦合的目標,最終保證程序員的產品質量,進而提高生產率。

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

        所以,從數據組織上講,C++比C先進了一大步,但從功能實現上講,C++和C并無本質不同。C++到現在,都不是一種完全的面向對象語言,因為它都仍然保留了全局變量。

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

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


    主站蜘蛛池模板: 美女扒开尿口让男人30视频| 中文字幕国产专区| 渣男和渣女做不干净事情视频| 国产成人无码一区二区三区在线| xxxx性开放xxxx| 无人高清视频完整版在线观看| 亚洲成av人在线视| 狠狠躁夜夜躁人人爽超碰97香蕉| 国产亚洲精品精品国产亚洲综合| 91福利免费视频| 天堂资源在线www中文| 久久久久无码国产精品不卡| 最近韩国免费观看hd电影国语| 免费在线观看的黄色网址| 美女隐私尿口视频网站| 国产日韩欧美91| 97在线观看视频| 天天久久综合网站| 久久99热精品免费观看动漫| 日韩欧美在线观看| 亚洲欧美在线精品一区二区| 狠狠躁夜夜躁人人爽天天古典 | 精品一区二区三区四区| 国产在线视频色综合| 884aa四虎在线| 在线播放国产一区二区三区| 中文字幕人成乱码熟女| 日本中文字幕有码在线视频| 亚洲免费观看在线视频| 免费一级毛片正在播放| 2019中文字幕在线电影免费| 在线观看www日本免费网站| 中文版邻居的夫妇交换电影| 日本天堂影院在线播放| 亚洲国产三级在线观看| 欧美高清69hd| 全彩调教侵犯h本子全彩网站mj| 翁止熄痒禁伦短文合集免费视频| 国产成人精品无码免费看| 97视频资源总站| 在线天堂中文www官网|