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


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


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

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

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


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

談點(diǎn)我個(gè)人的看法哈,一家之言,歡迎拍磚。

    我個(gè)人理解,這二者其實(shí)沒(méi)有太大差異性。

    C語(yǔ)言面向過(guò)程,OP,C++語(yǔ)言面向?qū)ο螅琌O.

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

    所以,我和我的同事,平時(shí)并不會(huì)明顯去分辨C和C++的異同,在我們看來(lái),二者本來(lái)就是一體的。

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

    但C++還是很有用的。

    因?yàn)楹芏嗄暌郧埃蠹矣X(jué)得傳統(tǒng)面向過(guò)程的語(yǔ)言,如C,如Basic,如Pascal,都有一個(gè)缺點(diǎn),就是在程序中,彼此暴露了太多的細(xì)節(jié),這造成各個(gè)功能之間,由于程序員的失誤,很容易發(fā)生粘連,聯(lián)系。換而言之,就算是非法訪問(wèn),通常也是合法而成功的,不會(huì)被編譯器檢查出來(lái)。比如C就允許全局變量和遠(yuǎn)指針調(diào)用。

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

    正是因?yàn)榇耍蠹以谏鲜兰o(jì)七十年代,提出了模塊化開(kāi)發(fā)的思想,試圖通過(guò)各個(gè)模塊的獨(dú)立開(kāi)發(fā)和運(yùn)行,強(qiáng)行阻斷各個(gè)模塊不必要的耦合性,來(lái)達(dá)到讓程序穩(wěn)定的目的。

    但這樣畢竟是人工在操作,是人做的,就可能會(huì)犯錯(cuò)誤,大家覺(jué)得有必要在編譯器這一級(jí),要強(qiáng)調(diào)模塊之間的獨(dú)立性。

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

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

    最初,這個(gè)語(yǔ)言是一個(gè)新的語(yǔ)言,好像叫smalltalk吧,不過(guò),這個(gè)時(shí)候的語(yǔ)言,還是實(shí)驗(yàn)室產(chǎn)品,沒(méi)有投入商業(yè)運(yùn)營(yíng)。

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

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

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

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

    所以,從數(shù)據(jù)組織上講,C++比C先進(jìn)了一大步,但從功能實(shí)現(xiàn)上講,C++和C并無(wú)本質(zhì)不同。C++到現(xiàn)在,都不是一種完全的面向?qū)ο笳Z(yǔ)言,因?yàn)樗既匀槐A袅巳肿兞俊?/p>

    所以我的意見(jiàn),兩個(gè)一起學(xué),不要刻意去區(qū)分,好像用C就要用純C,沒(méi)必要。

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


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

返回版面帖子列表

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








簽名
主站蜘蛛池模板: 久久久久亚洲日日精品 | 国产三级做爰高清在线 | 成人综合影院 | 澳门一级毛片手机在线看 | 久久久精品视频免费观看 | 日韩精品一区二区三区视频网 | 成人免费在线网站 | 波多野结衣在线播放视频 | 日韩免费观看一级毛片看看 | 日韩欧免费一区二区三区 | 国产精品免费_区二区三区观看 | 北条麻妃在线一区二区 | 国产成人精品男人的天堂538 | 毛片特黄 | 国产精品成人观看视频免费 | 在线高清一级欧美精品 | 日本手机在线视频 | 国产日产欧产精品精品推荐小说 | 亚洲成在人线免费视频 | 成人欧美视频在线观看播放 | 日本亚欧乱色视频在线观看 | 日本美女黄网站 | 美女国产福利视频 | 免费观看一级特黄三大片视频 | 黄色毛片免费看 | 久久国产精品视频一区 | 国产成人午夜精品5599 | 欧美精品另类hdvideo | 免费观看黄色毛片 | 国产深夜福利视频观看 | 在线观看精品自拍视频 | 亚洲精品片 | 亚洲国产成人va在线观看网址 | 久久日本三级韩国三级 | 亚洲精品专区一区二区三区 | 自拍偷拍图区 | 一级在线 | 欧洲 | 亚洲精品国产一区二区三区在 | 国产精品拍拍拍福利在线观看 | 日本加勒比高清一本大道 | 日韩高清在线播放不卡 |