国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

C++0x:嶄新的C++,還是另一個(gè)Java?

瀏覽:30日期:2024-03-20 15:37:44
最近,從全球最活躍的C++社區(qū)boost傳來(lái)消息,新的C++標(biāo)準(zhǔn):C++0x,最早將在2007年10月發(fā)布。2. 并發(fā)內(nèi)存模型和并發(fā)庫(kù)(面向多核處理器);

從全球最活躍的C++社區(qū)boost傳來(lái)消息,新的C++標(biāo)準(zhǔn):C++0x,最早將在2007年10月發(fā)布……

最近,從全球最活躍的C++社區(qū)boost傳來(lái)消息,新的C++標(biāo)準(zhǔn):C++0x,最早將在2007年10月發(fā)布。很早就有人猜測(cè),C++0x中的x到底是8還是9,不過(guò)現(xiàn)在看來(lái)很可能是7,但是也不盡然,因?yàn)樯弦粋€(gè)C++標(biāo)準(zhǔn)本來(lái)計(jì)劃是1997年發(fā)布,但是因?yàn)镾TL的引入而推遲到1998年。這次又遇到了相同的情況,大家都不懷疑TR1和TR2(Technical Report)將成為新標(biāo)準(zhǔn)的一部分,但是隨著越來(lái)越多的boost庫(kù)被移到TR2中,TR2的進(jìn)一個(gè)完善很可能拖新標(biāo)準(zhǔn)的后腿。不過(guò),C++0x是C++的一次重大升級(jí),恐怕編譯器廠商最快也只能在2009年推出符合新標(biāo)準(zhǔn)的編譯器。

新的C++標(biāo)準(zhǔn)將在幾個(gè)方面對(duì)C++標(biāo)準(zhǔn)進(jìn)行擴(kuò)充:

1. 增強(qiáng)STL庫(kù),標(biāo)準(zhǔn)庫(kù)TR1和TR2中的新組建,比如“正則表達(dá)式;

2. 并發(fā)內(nèi)存模型和并發(fā)庫(kù)(面向多核處理器);

3. 垃圾收集器;

4. 可簡(jiǎn)化的泛型程序的開(kāi)發(fā);

從上一個(gè)標(biāo)準(zhǔn)C++98發(fā)布到現(xiàn)在,將近有10年的時(shí)間了,在這十年的時(shí)間里編程語(yǔ)言發(fā)生了翻天覆地的變化,首先是JAVA異軍突起,然后是微軟借助.NET平臺(tái)的優(yōu)勢(shì)推出了C#,C++已經(jīng)不再是編程語(yǔ)言中的明星了,它被擠下了神壇,慢慢淪為邊緣編程語(yǔ)言。這中間的主要原因并不是C++的語(yǔ)法落伍了,而是使用C++開(kāi)發(fā)軟件效率低下并且容易出錯(cuò)。效率低下的原因是因?yàn)镃++缺少庫(kù)的支持,C++只提供了編程語(yǔ)言的基本功能,缺少?gòu)?qiáng)有力的庫(kù)支持,比如字符串處理就一直是C++的詬病。容易出錯(cuò)的原因是C++從C繼承了動(dòng)態(tài)內(nèi)存分配和指針,這一點(diǎn)被認(rèn)為是軟件發(fā)生錯(cuò)誤的根源,雖然C++引入STL來(lái)解決這個(gè)問(wèn)題,比如用vector代替內(nèi)置數(shù)組可以防止內(nèi)存泄漏,用迭代器代替直接下標(biāo)操作可以防止地址越界。但是STL畢竟太簡(jiǎn)單了,比如字符串處理就只有一個(gè)簡(jiǎn)單的string,比起Perl差遠(yuǎn)了。C++唯一的優(yōu)勢(shì)就是速度,但是隨著處理器和內(nèi)存的快速發(fā)展也慢慢被遺忘了,所以就淪落到了現(xiàn)在的地步。

C++要想擺脫這種局面,就必須解決這兩個(gè)問(wèn)題,而在新標(biāo)準(zhǔn)中我們已經(jīng)看到了答案。TR1和TR2已經(jīng)成為新的標(biāo)準(zhǔn)庫(kù)的一部分,它們不僅提供了象“正則表達(dá)式和“哈希表這樣程序員盼望已久的功能,還有針對(duì)多核處理器的并發(fā)內(nèi)存模型和并發(fā)庫(kù),對(duì)網(wǎng)絡(luò)也有socket庫(kù)等等。針對(duì)內(nèi)存出錯(cuò)問(wèn)題,新標(biāo)準(zhǔn)通過(guò)強(qiáng)化STL代替內(nèi)存訪問(wèn),使用垃圾收集器防止內(nèi)存泄漏。在C++社區(qū)上關(guān)于新標(biāo)準(zhǔn)討論最多的就是到底應(yīng)不應(yīng)該修改C++語(yǔ)言,爭(zhēng)論的核心之一就是垃圾收集器。老鳥(niǎo)們總是認(rèn)為“不要為了新手而將C++降格,適合新手的語(yǔ)言已經(jīng)有很多了!,很多C++程序員認(rèn)為新標(biāo)準(zhǔn)應(yīng)該將精力集中于擴(kuò)充標(biāo)準(zhǔn)庫(kù),而不是解決內(nèi)存泄漏問(wèn)題,因?yàn)槟鞘浅绦騿T自己的事。在本人看來(lái)這種思想將會(huì)害死C++,因?yàn)楝F(xiàn)實(shí)中總是新手比老鳥(niǎo)多,軟件公司的老板招一個(gè)程序員是希望他(她,它)能夠立即開(kāi)始編寫(xiě)沒(méi)有錯(cuò)誤的代碼,而不是培養(yǎng)他們知道他們成為專家后再開(kāi)始干活,所以,如果C++不能成為一種“菜鳥(niǎo)友好的語(yǔ)言,那么C++的墮落將不可避免。設(shè)想某個(gè)程序員分配了一塊內(nèi)存而忘記釋放它,但是垃圾收集器捕獲了這個(gè)異常并默默地替他釋放了這塊內(nèi)存,從而使內(nèi)存泄漏這種悲慘的事情得以避免,而程序運(yùn)行起來(lái)狀態(tài)良好,那還有什么理由不在C++中添加垃圾收集功能呢?

C++0x能夠重振C++的雄風(fēng)嗎?有了垃圾收集器的C++,并且所有內(nèi)存和指針操作都被“友好地建議用STL代替,那還是C++嗎?還是另一個(gè)JAVA?答案當(dāng)然是“這仍舊是C++,請(qǐng)放心使用,不過(guò)C++0x之后還會(huì)有什么新的內(nèi)容,會(huì)不會(huì)有一套GUI庫(kù)?如果是那樣的話就真的成JAVA了。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 巧家县| 饶河县| 斗六市| 玉林市| 沅陵县| 阿拉善盟| 庄浪县| 万盛区| 利辛县| 原平市| 连南| 油尖旺区| 曲靖市| 宜章县| 湖南省| 汽车| 靖西县| 扬州市| 临桂县| 如东县| 老河口市| 嵊泗县| 牙克石市| 库伦旗| 临夏市| 乌什县| 霍林郭勒市| 虎林市| 民乐县| 普洱| 彝良县| 大连市| 荣成市| 临城县| 尉犁县| 旬阳县| 舟山市| 济南市| 资中县| 五大连池市| 乌拉特中旗|