曙海教育集團論壇開發語言培訓專區C語言開發 → 關于C和C++區別的討論


  共有8395人關注過本帖樹形打印

主題:關于C和C++區別的討論

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


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

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

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

    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的函數,僅僅是放在類里面而已


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

返回版面帖子列表

關于C和C++區別的討論








簽名
主站蜘蛛池模板: 欧美一级高清黄图片| 美女网站色在线观看| 羞羞网站在线免费观看| 日本高清二区视频久二区| 国产破处在线视频| 亚洲国产成a人v在线观看| 69久久夜色精品国产69| 欧美综合人人做人人爱| 在线观看亚洲av每日更新| 伊人婷婷色香五月综合缴激情| 一本一道久久a久久精品综合| 综合亚洲伊人午夜网| 性xxxxfreexxxxx喷水欧美| 初女破苞国语在线观看免费| 一边摸一边爽一边叫床免费视频| 精品日产卡一卡乱码| 宅男噜噜噜66在线观看网站| 全免费a级毛片免费看无码| sqy2wc厕所撒尿| 浮力影院亚洲国产第一页| 在线播放高清国语自产拍免费| 亚洲电影一区二区三区| 2021免费日韩视频网| 欧美一区二区三区激情视频| 国产成人a人亚洲精品无码| 久久国产色av| 色悠久久久久久久综合网伊人| 成人永久免费福利视频网站| 双女车车好快的车车有点污| r18bl各种play高h| 永久看一二三四线| 国产精品igao视频| 久久婷婷人人澡人人爱91| 色一情一乱一伦一区二区三欧美| 把极品白丝班长啪到腿软| 免费观看a黄一级视频| 99久热只有精品视频免费看 | 国产精品视频第一区二区三区| 亚洲伊人tv综合网色| 领导边摸边吃奶边做爽在线观看 | 1024在线播放|