自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++語(yǔ)言真的還有市場(chǎng)價(jià)值?

開(kāi)發(fā) 后端
對(duì)于程序員來(lái)說(shuō)C++語(yǔ)言只不過(guò)是他們使用的工具而已,在他們心里沒(méi)有真正的語(yǔ)言,但是C+語(yǔ)言特有的dynamic_cast和reinterpret_cast。

C++語(yǔ)言讓編程人員和搞開(kāi)發(fā)的人員大大頭疼的問(wèn)題,即使不用STL,不用類,不用虛擬繼承,甚至不用C++的一切特性,其實(shí)學(xué)C++很簡(jiǎn)單,希望本文能給大家?guī)?lái)幫助。。。

開(kāi)篇之前,先略微聲明一下。本文目的不在于為C++辯護(hù)或抬舉,當(dāng)然也不會(huì)有為此而抬高或打壓別的編程語(yǔ)言的意圖。所有的,僅僅是有感而發(fā),并且還是從我個(gè)人的角度,有所缺失在所難免。如果你是老鳥(niǎo),其中之缺還望相見(jiàn)一笑;如果你是菜鳥(niǎo),對(duì)于文中的贊美和批評(píng),請(qǐng)擦亮眼睛,別被我忽悠了。

首先我們先要知道一點(diǎn),C++是一門(mén)什么語(yǔ)言?簡(jiǎn)單點(diǎn)來(lái)說(shuō),C++是一門(mén)接近于全能的語(yǔ)言。為什么說(shuō)是接近呢?因?yàn)?FONT>C++有一門(mén)語(yǔ)言是無(wú)法取代的,那就是匯編。再直白點(diǎn)來(lái)說(shuō),匯編對(duì)于寄存器的操作,C++是無(wú)法勝任的。不信?你試試用C++來(lái)改寫(xiě)一下PC寄存器看看?沒(méi)轍吧?

"接近"可以理解了,那么"全能"呢?我們知道,C++是兼容C的。不嚴(yán)謹(jǐn)?shù)卣f(shuō),我們可以簡(jiǎn)單認(rèn)為C只是C++的一個(gè)子集,所以C能做的,C++也能做,這個(gè)應(yīng)該沒(méi)有人有異議。為了方便,以下所描述的C++語(yǔ)言,在某些方面也代表C,之所以沒(méi)采用C/C++這樣的寫(xiě)法,僅僅是為了保護(hù)鍵盤(pán)而已。轉(zhuǎn)回正題,那C#呢?JAVA呢?它們所能做的,比如網(wǎng)絡(luò)方面的應(yīng)用,B/S的方方面面,怎么就沒(méi)見(jiàn)C++的身影呢?

關(guān)于這個(gè)問(wèn)題嘛,我們從另一個(gè)角度來(lái)看,C#和JAVA的運(yùn)行基礎(chǔ)是什么?沒(méi)錯(cuò),是虛擬機(jī)。虛擬機(jī)是用什么寫(xiě)的?嘿嘿,C++。所以,你完全可以用C++先寫(xiě)一個(gè)虛擬機(jī),然后再在虛擬機(jī)上解釋C++語(yǔ)法。是不是很酷?當(dāng)然,我想現(xiàn)實(shí)中是不會(huì)有人那么去做的。就像從深圳到上海,你可以坐飛機(jī)去,也可以騎自行車(chē)去。兩者都能到達(dá)目的地,但我估計(jì)沒(méi)幾個(gè)人會(huì)選擇后者。這就是效率問(wèn)題。

坐飛機(jī),眼一睜一閉,就到了;騎自行車(chē)?呃,這時(shí)間就不好估計(jì)了。所以這領(lǐng)域,該讓C#的,或是JAVA的,就讓它們?nèi)フ垓v吧。至于C++,就讓它干在一旁瞪眼好了,除非你一定想要耍???。

接著,我們就來(lái)看看桌面應(yīng)用吧。所謂的桌面應(yīng)用,我們狹義一點(diǎn),就是桌面應(yīng)用程序??偟膩?lái)說(shuō),目前在這領(lǐng)域,C++確實(shí)還能占有一席之地。但這僅有的一席之地,也岌岌可危。在XP之前,因?yàn)橄到y(tǒng)都是沒(méi)有預(yù)裝.net framework,所以C++的對(duì)手無(wú)非就是VB和DELPHI,但這兩者根本無(wú)法撼動(dòng)C++這顆大樹(shù)。雖然XP也能裝.net framework,但為了一個(gè)應(yīng)用而弄一個(gè)體積如此巨大的玩意,卻有那么一點(diǎn)點(diǎn)的不現(xiàn)實(shí)。

但后XP時(shí)代,世界就不一樣了。Vista已經(jīng)預(yù)裝了.net framework,更不用說(shuō)Windows 7。甚至還有傳言,Windows 7的用戶界面就是用C#搞定的。何況,C#還有殺手锏,能和Silverlight完美結(jié)合,大大減輕UI的開(kāi)發(fā)難度。看起來(lái),在今后的日子,在這個(gè)桌面應(yīng)用領(lǐng)域,C++日子過(guò)得并不舒坦。在這領(lǐng)域,可能C++還能耀武揚(yáng)威的,也許就剩下大型的3D游戲了。雖然用.net配合OpenGL或Direct3D也能做C++的事,但效率卻會(huì)大打折扣。

雖然隨著硬件的不斷提升,可能這折扣會(huì)不斷縮小,但畢竟還是存在的。只要折扣存在,那些游戲廠商就不會(huì)放棄C++,因?yàn)槟軆?yōu)化,為何不優(yōu)化?但,也許也僅僅限于此了。C++,它淚流滿面。

最后呢,就是嵌入式領(lǐng)域。在這里,是C++的天下,C++是永遠(yuǎn)的王者。它不是一個(gè)人在戰(zhàn)斗!此刻,它靈魂附體!你見(jiàn)過(guò)那些RTOS是用C++以外的語(yǔ)言寫(xiě)的(再次重申,正如前文所說(shuō),這里的C++也代表了C)?至少我印象中沒(méi)有。嵌入式linux支持.net?除非微軟的腦袋秀逗了。

也許有人說(shuō),WinCE不是可以支持.net么?支持是可以支持,但并不代表所有的WinCE設(shè)備都支持。因?yàn)閃inCE是可裁剪的操作系統(tǒng),也許是為了節(jié)約內(nèi)存空間,也許是為了啟動(dòng)速度,或是由于別的雜七雜八的,甚至莫名其妙的理由,很多廠商根本就不會(huì)將.net這個(gè)會(huì)將系統(tǒng)膨脹至少4M的組件加到產(chǎn)品去??纯碬inCE的內(nèi)核代碼,看看WinCE的BSP包,哪里有.net代碼的身影?全部清一色的C++。

甚至于WinCE的應(yīng)用程序,微軟的態(tài)度也非常明確,在桌面只能.net使用的Silverlight,在WinCE SP3添加之后,卻是更改為了C++接口。王者,絕對(duì)的王者,根本就不可能有別的語(yǔ)言在這里將C++語(yǔ)言撼動(dòng)!此時(shí),C++站起來(lái)了!腰板直了!#t#

說(shuō)了那么多,那么我們的最后,就來(lái)看看為什么大家都說(shuō)學(xué)好C++難吧。如果你對(duì)學(xué)好C++沒(méi)啥興趣,以下的文字估計(jì)對(duì)你也沒(méi)啥營(yíng)養(yǎng),你可以完全忽略不計(jì),可以很愉快或很氣憤地將當(dāng)前網(wǎng)頁(yè)給咔嚓掉。

其實(shí)學(xué)C++很簡(jiǎn)單,但難就難在這個(gè)"好"字。初學(xué)者會(huì)發(fā)現(xiàn),入門(mén)很簡(jiǎn)單,因?yàn)?FONT>C++也沒(méi)啥語(yǔ)法;但搞清楚語(yǔ)法后,接下來(lái)就犯糊涂了,下一步應(yīng)該怎么走呢?只所以產(chǎn)生這種原因,是因?yàn)?FONT>C++太靈活了。對(duì)于一種功能,C++有各種各樣的方法,究竟什么方法才是最合適的?比如說(shuō),傳遞給函數(shù)的形參,什么時(shí)候該使用指針,什么時(shí)候該使用引用?就連平常得再也不能平常的指針轉(zhuǎn)型,有C的括號(hào)形式。

還有C++語(yǔ)言特有的dynamic_cast和reinterpret_cast,究竟哪個(gè)才是該使用的?更不用說(shuō)分配內(nèi)存了,既有malloc,還有new,如果算上STL的話,還有一個(gè)resize。我想所有的這些,對(duì)于初學(xué)者而言,如果他看著這些能夠腿不痛腰不酸,那么我強(qiáng)烈佩服這人的淡定力。

C++語(yǔ)言還有更讓初學(xué)者郁悶的是,即使不用STL,不用類,不用虛擬繼承,甚至不用C++的一切特性,也是能夠完成所相應(yīng)的功能。所以,疑惑了,C++是什么?也許這時(shí)候,很多人就會(huì)想,如果選擇是唯一的,那是多么地幸福?。∫虼?,很多人就轉(zhuǎn)向了C#(或別的語(yǔ)言),因?yàn)閷?duì)于某些操作,方法是唯一的;即使不是唯一,也沒(méi)有C++那么繁多。

責(zé)任編輯:chenqingxiang 來(lái)源: NET130
相關(guān)推薦

2010-01-14 10:34:02

C++語(yǔ)言

2010-01-26 09:24:53

C++語(yǔ)言

2010-01-15 16:45:35

C++語(yǔ)言

2023-04-10 12:40:02

2010-01-20 17:23:03

C++編程語(yǔ)言

2022-07-01 18:43:11

物聯(lián)網(wǎng)集成物聯(lián)網(wǎng)

2020-08-14 11:42:41

物聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2021-04-12 17:33:42

Gartner云計(jì)算數(shù)字業(yè)務(wù)

2024-01-15 11:03:41

2022-12-29 15:35:46

公共云

2010-01-14 17:52:02

2010-01-14 13:24:49

CC++語(yǔ)言

2021-04-08 11:10:51

無(wú)人機(jī)人工智能AI

2022-05-08 07:01:34

云計(jì)算云市場(chǎng)

2022-08-22 15:32:59

C++C代碼

2022-06-30 15:30:39

云的聯(lián)絡(luò)中心市場(chǎng)云計(jì)算

2022-09-13 10:15:47

人工智能AI

2023-07-14 15:48:34

2021-09-13 10:47:08

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2010-01-21 10:23:53

C++代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)