新聞中心
對(duì)于C++/CLI代表 ISO-C++標(biāo)準(zhǔn)語(yǔ)言的一個(gè)動(dòng)態(tài)編程泛型擴(kuò)展在原版語(yǔ)言設(shè)計(jì)中有許多,我們覺(jué)得在修訂版語(yǔ)言設(shè)計(jì) (V2) 中已經(jīng)修正了這些弱點(diǎn),下面進(jìn)行說(shuō)明學(xué)習(xí)研究。。。

嵊州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),嵊州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為嵊州1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的嵊州做網(wǎng)站的公司定做!
本文列舉了 V1 版本語(yǔ)言的功能和它們?cè)?V2 版本中的對(duì)應(yīng)功能(如果存在);并指出了其對(duì)應(yīng)功能不存在的構(gòu)造。對(duì)于有興趣的讀者,可以查看附錄中提供新語(yǔ)言設(shè)計(jì)的擴(kuò)展原理。另外,一個(gè)源代碼級(jí)別的轉(zhuǎn)換工具 (mscfront) 正在開(kāi)發(fā)中,而且可能在 C++/CLI的發(fā)布版中提供給希望將 V1 代碼自動(dòng)移植到新語(yǔ)言設(shè)計(jì)的人。
本文分為五個(gè)章節(jié)加一個(gè)附錄。***節(jié)討論語(yǔ)言關(guān)鍵字的主要問(wèn)題,特別是雙下劃線的移除以及與上下文相關(guān)和由空格分隔的關(guān)鍵字。第二節(jié)著眼于托管類型的變化 — 特別是托管引用類型和數(shù)組。還可以在這里找到有關(guān)確定性終結(jié)語(yǔ)義 (deterministic finalization) 的詳細(xì)討論。關(guān)于類成員的變化,例如屬性、索引屬性和操作符,是第三節(jié)的重點(diǎn)。第四節(jié)著眼于 CLI 枚舉、內(nèi)部和釘住指針的語(yǔ)法變化。它也討論了許多可觀的語(yǔ)義變化,例如隱式裝箱的引入、CLI枚舉的變化,和對(duì)值類中默認(rèn)構(gòu)造函數(shù)的支持的移除。第五節(jié)有點(diǎn)像大雜燴 — 亂七八糟的雜項(xiàng)。討論了類型轉(zhuǎn)換符號(hào)、字符串字符的行為和參數(shù)數(shù)組。
1. 語(yǔ)言關(guān)鍵字
原版到修訂版語(yǔ)言設(shè)計(jì)的一個(gè)重要轉(zhuǎn)換是在所有關(guān)鍵字中去掉雙下劃線。舉例來(lái)說(shuō),一個(gè)屬性現(xiàn)在被聲明為 property而不是 __property。在原版語(yǔ)言設(shè)計(jì)中使用雙下劃線前綴的兩個(gè)主要原因是:
1. | 這是提供符合 ISO-C++標(biāo)準(zhǔn)的本地?cái)U(kuò)展的一致性方法。原版語(yǔ)言設(shè)計(jì)的一個(gè)主要目標(biāo)就是不引入與標(biāo)準(zhǔn)語(yǔ)言的不兼容性,例如新的關(guān)鍵字和標(biāo)記。這個(gè)原因很大程度上也推動(dòng)了對(duì)聲明托管引用類型的對(duì)象的指針語(yǔ)法的選擇。 |
2. | 雙下劃線的使用,除了兼容性方面的原因之外,也是一個(gè)不會(huì)對(duì)有舊代碼基礎(chǔ)的用戶造成影響的合理保證。這是原版語(yǔ)言設(shè)計(jì)的第二主要目標(biāo)。
|
這樣的話,為什么我們移除雙下劃線(并且引入了一些新的標(biāo)記)?不是的,這并不代表我們不再考慮和標(biāo)準(zhǔn)保持一致!
我們繼續(xù)致力于和標(biāo)準(zhǔn)一致。盡管如此,我們意識(shí)到對(duì) CLI動(dòng)態(tài)對(duì)象模型的支持表現(xiàn)出了一種全新的強(qiáng)大的編程范型。我們?cè)谠嬲Z(yǔ)言設(shè)計(jì)上的經(jīng)驗(yàn)以及設(shè)計(jì)與發(fā)展 C++ 語(yǔ)言本身的經(jīng)驗(yàn)使我們確信,對(duì)這個(gè)新范型的支持需要它自己的高級(jí)關(guān)鍵字和標(biāo)記。我們想提供一個(gè)該新范型的***表達(dá)方式,整合它并且支持標(biāo)準(zhǔn)語(yǔ)言。我們希望您會(huì)感受到修訂版語(yǔ)言設(shè)計(jì)提供了對(duì)這兩種截然不同的對(duì)象模型的***的編程體驗(yàn)。
類似的,我們很關(guān)心最小化這些新的關(guān)鍵字的對(duì)現(xiàn)有代碼可能造成的沖擊。這是用與上下文相關(guān)和由空格分隔的關(guān)鍵字來(lái)解決的。在我們著眼于實(shí)際語(yǔ)言語(yǔ)法的修訂之前,讓我們?cè)囋嚫闱宄@兩個(gè)特別關(guān)鍵字的特點(diǎn)。
一個(gè)與上下文相關(guān)的關(guān)鍵字在特定的程序上下文中有特殊的含義。例如,在通常的程序中,sealed 是一個(gè)普通標(biāo)識(shí)符。但是,在一個(gè)托管引用類類型的聲明部分,它就是類聲明上下文中的一個(gè)關(guān)鍵字。這使得在語(yǔ)言中引入一個(gè)新的關(guān)鍵字的潛在影響降到***程度,我們認(rèn)為,C++/CLI這對(duì)已經(jīng)擁有代碼基的用戶非常重要。同時(shí),它允許新功能的使用者獲得***的新增語(yǔ)言功能的體驗(yàn) — 我們認(rèn)為在原版語(yǔ)言設(shè)計(jì)中缺少這些因素。我們將在 2.1.2 節(jié)中看到 sealed用法的示例。
【編輯推薦】
- 如何正確編寫(xiě)C++項(xiàng)目開(kāi)發(fā)編寫(xiě)項(xiàng)目計(jì)劃書(shū)
- 對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
- 深度演示C++語(yǔ)言的種種高安全性
- 詳細(xì)介紹如何準(zhǔn)確無(wú)誤的編寫(xiě)C++語(yǔ)言
- 深度演示C++語(yǔ)言的種種高安全性
網(wǎng)頁(yè)標(biāo)題:托管擴(kuò)展C++遷移到C++/CLI
本文鏈接:http://www.dlmjj.cn/article/dpjeoss.html


咨詢
建站咨詢
