成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++語言真的還有市場價值?

開發 后端
對于程序員來說C++語言只不過是他們使用的工具而已,在他們心里沒有真正的語言,但是C+語言特有的dynamic_cast和reinterpret_cast。

C++語言讓編程人員和搞開發的人員大大頭疼的問題,即使不用STL,不用類,不用虛擬繼承,甚至不用C++的一切特性,其實學C++很簡單,希望本文能給大家帶來幫助。。。

開篇之前,先略微聲明一下。本文目的不在于為C++辯護或抬舉,當然也不會有為此而抬高或打壓別的編程語言的意圖。所有的,僅僅是有感而發,并且還是從我個人的角度,有所缺失在所難免。如果你是老鳥,其中之缺還望相見一笑;如果你是菜鳥,對于文中的贊美和批評,請擦亮眼睛,別被我忽悠了。

首先我們先要知道一點,C++是一門什么語言?簡單點來說,C++是一門接近于全能的語言。為什么說是接近呢?因為C++有一門語言是無法取代的,那就是匯編。再直白點來說,匯編對于寄存器的操作,C++是無法勝任的。不信?你試試用C++來改寫一下PC寄存器看看?沒轍吧?

"接近"可以理解了,那么"全能"呢?我們知道,C++是兼容C的。不嚴謹地說,我們可以簡單認為C只是C++的一個子集,所以C能做的,C++也能做,這個應該沒有人有異議。為了方便,以下所描述的C++語言,在某些方面也代表C,之所以沒采用C/C++這樣的寫法,僅僅是為了保護鍵盤而已。轉回正題,那C#呢?JAVA呢?它們所能做的,比如網絡方面的應用,B/S的方方面面,怎么就沒見C++的身影呢?

關于這個問題嘛,我們從另一個角度來看,C#和JAVA的運行基礎是什么?沒錯,是虛擬機。虛擬機是用什么寫的?嘿嘿,C++。所以,你完全可以用C++先寫一個虛擬機,然后再在虛擬機上解釋C++語法。是不是很酷?當然,我想現實中是不會有人那么去做的。就像從深圳到上海,你可以坐飛機去,也可以騎自行車去。兩者都能到達目的地,但我估計沒幾個人會選擇后者。這就是效率問題。

坐飛機,眼一睜一閉,就到了;騎自行車?呃,這時間就不好估計了。所以這領域,該讓C#的,或是JAVA的,就讓它們去折騰吧。至于C++,就讓它干在一旁瞪眼好了,除非你一定想要耍耍酷。

接著,我們就來看看桌面應用吧。所謂的桌面應用,我們狹義一點,就是桌面應用程序。總的來說,目前在這領域,C++確實還能占有一席之地。但這僅有的一席之地,也岌岌可危。在XP之前,因為系統都是沒有預裝.net framework,所以C++的對手無非就是VB和DELPHI,但這兩者根本無法撼動C++這顆大樹。雖然XP也能裝.net framework,但為了一個應用而弄一個體積如此巨大的玩意,卻有那么一點點的不現實。

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

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

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

也許有人說,WinCE不是可以支持.net么?支持是可以支持,但并不代表所有的WinCE設備都支持。因為WinCE是可裁剪的操作系統,也許是為了節約內存空間,也許是為了啟動速度,或是由于別的雜七雜八的,甚至莫名其妙的理由,很多廠商根本就不會將.net這個會將系統膨脹至少4M的組件加到產品去。看看WinCE的內核代碼,看看WinCE的BSP包,哪里有.net代碼的身影?全部清一色的C++

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

說了那么多,那么我們的最后,就來看看為什么大家都說學好C++難吧。如果你對學好C++沒啥興趣,以下的文字估計對你也沒啥營養,你可以完全忽略不計,可以很愉快或很氣憤地將當前網頁給咔嚓掉。

其實學C++很簡單,但難就難在這個"好"字。初學者會發現,入門很簡單,因為C++也沒啥語法;但搞清楚語法后,接下來就犯糊涂了,下一步應該怎么走呢?只所以產生這種原因,是因為C++太靈活了。對于一種功能,C++有各種各樣的方法,究竟什么方法才是最合適的?比如說,傳遞給函數的形參,什么時候該使用指針,什么時候該使用引用?就連平常得再也不能平常的指針轉型,有C的括號形式。

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

C++語言還有更讓初學者郁悶的是,即使不用STL,不用類,不用虛擬繼承,甚至不用C++的一切特性,也是能夠完成所相應的功能。所以,疑惑了,C++是什么?也許這時候,很多人就會想,如果選擇是唯一的,那是多么地幸福啊!因此,很多人就轉向了C#(或別的語言),因為對于某些操作,方法是唯一的;即使不是唯一,也沒有C++那么繁多。

責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-14 10:34:02

C++語言

2023-04-10 12:40:02

2010-01-26 09:24:53

C++語言

2010-01-15 16:45:35

C++語言

2020-08-14 11:42:41

物聯網數據技術

2021-04-12 17:33:42

Gartner云計算數字業務

2024-01-15 11:03:41

2022-07-01 18:43:11

物聯網集成物聯網

2010-01-20 17:23:03

C++編程語言

2022-12-29 15:35:46

公共云

2010-01-14 17:52:02

2022-06-30 15:30:39

云的聯絡中心市場云計算

2022-09-13 10:15:47

人工智能AI

2022-05-08 07:01:34

云計算云市場

2021-04-08 11:10:51

無人機人工智能AI

2010-01-14 13:24:49

CC++語言

2023-07-14 15:48:34

2022-08-22 15:32:59

C++C代碼

2020-10-09 14:01:51

5G5G芯片5G服務

2021-11-02 05:31:11

人工智能AI深度學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色片在线免费看 | 色视频一区二区 | 国产目拍亚洲精品99久久精品 | 亚洲精品日韩视频 | 日韩精品一区二区三区免费观看 | 中文字幕 亚洲一区 | 一区二区三区成人 | av午夜电影 | 欧美色综合网 | 久草色播| 国产毛片久久久久久久久春天 | 欧美日本在线观看 | 亚洲高清在线观看 | 中文字幕一区二区三 | av在线免费观看网站 | 99精品久久久久久中文字幕 | 国产精品免费在线 | 一级黄片一级毛片 | 羞羞的视频在线观看 | 国产丝袜一区二区三区免费视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 激情91 | 99精品网 | 91免费福利视频 | 中文字幕在线观看日韩 | 亚洲精品乱码久久久久久久久久 | 国产日韩欧美 | 亚洲 成人 在线 | 成人性视频免费网站 | 国产精品海角社区在线观看 | 在线免费观看黄a | 天天干国产 | 99国产精品99久久久久久粉嫩 | 久久91av| 日韩av一区二区在线观看 | 成人一区二区在线 | 国产成人在线免费 | 在线看av网址 | 一级黄色毛片免费 | 久久久久免费精品国产小说色大师 | 午夜寂寞福利视频 |