c#和c++區(qū)別
回答
愛揚(yáng)教育
2022-06-24
- 相關(guān)推薦
擴(kuò)展資料
C#中所有對(duì)象都只能通過關(guān)鍵詞“new”來創(chuàng)建,C++的“類名_對(duì)象名”方式在C#中變?yōu)槁暶饕粋(gè)引用。呵呵,萬物皆對(duì)象,連常見的數(shù)據(jù)類型都變?yōu)閷?duì)象了,JAVA味道很濃。
數(shù)組變?yōu)榱祟,因此?duì)于數(shù)組里的元素,.NETFramework直接提供了一系列的操作:查找、排序、倒置……
在C#里面,數(shù)組的元素都是存放在托管堆里面,比起C++的在內(nèi)存里不確定位置申請(qǐng)一塊連續(xù)空間要安全得多。
C++的switch后跟參數(shù)必須是int型,而C#卻允許string型,這點(diǎn)改進(jìn)覺得真的是比以前方便多了!
C#會(huì)禁止所有switch..case語句的失敗情形,除非case語句后是空格,否則執(zhí)行了前一個(gè)case語句就算沒有break也會(huì)停止執(zhí)行后面的case語句。
在異常處理上,C++允許拋出任何類型,而C#中規(guī)定拋出類型為一個(gè)派生于System.Exception的對(duì)象。
C++的宏在C#中被拋棄了很多,而且也不建議使用,因此很少見。
C++的模板在C#里沒有了,但在C#中我們找到了能完成模板任務(wù)的更鋒利的武器:委托。
C++的全局變量這一概念沒有了,C#和JAVA類似,要把所有東西都放在類里面,還建議使用命名空間包含起來。