程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 超越C++ 下一代C++:C++/CLI簡介

超越C++ 下一代C++:C++/CLI簡介

編輯:vc教程

一、緒論

當微軟推出VS.NET7實現了可擴展的托管後,C++程序員們反映不一。盡管大部分的程序員對於能夠繼續使用C++感到很欣慰,但幾乎所有的人對於托管C++提供的晦澀語法感到很痛苦。微軟明顯從反饋中感覺到托管C++不是那麼成功。

2003年10月6日,ECMA(歐洲計算機制造商協會)宣布成立專家組,負責結合ISO標准C++與通用語言,開發一個可擴展語言的標准,這個新的可擴展語言被稱為C++/CLI標准。這個標准將被VS.NET2005的C++編譯器支持。

二、老語法存在的問題

1、晦澀繁瑣的語法和文法--這兩個"雙重底線"問題加重了閱讀的負擔。

2、二流的CLI支持--相對與C#與VB.NET,MC++使用不方便的工作區來提供CLI支持,例如,它沒有一個一一對應的結構來列舉.NET的集合。

3、C++與.NET粗陋地結合--對於CLI類型,你不能使用C++的特色,例如模板;同樣,對於C++類型,你不能使用CLI的特色,例如碎片帳集。

4、令人混淆的指針--非托管的C++的指針及托管的引用指針都使用*語法,這非常令人混淆,因為-gc指針與托管指針在本質和行為上完全不同。

5、MFC編譯器不能產生可校驗的代碼。

三、C++/CLI給我們提供了什麼?

1、優雅流暢的語法和文法--C++/CLI為C++開發人員書寫托管代碼提供了一種非常自然的感覺,並且它提供了非托管代碼到托管代碼的平滑過度。以前所謂的"雙重底線"問題現在已經蕩然無存。

2、一流的CLI支持--CLI特色,例如屬性、碎片集合和屬類得到了直接支持,此外,C++/CLI還准許將這些特色用於本地非托管的類。

3、一流的C++類支持--C++特色,例如模板和析構函數對於拖管和非拖管類繼續有效。實際上,C++/CLI是你可以"表面上"在棧或C++本地堆上聲明一個.NET類型唯一的.NET語言。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved