日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C#与C++的区别

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#与C++的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,C#不支持多重繼承,這是與C++明顯區別的地方,說真的多重繼承有時候用起來挺麻煩的,可能微軟怕你用不好吧,不給你提供了,但我個人覺得沒有了多重繼承感覺有點可惜。

2.在標準的C#安全代碼中不支持指針類型的操作,然而,你卻能在微軟所謂的“非安全代碼”中操作指針類型對象。

3.C#中所有對象都只能通過關鍵詞“new”來創建,C++的“類名_對象名”方式在C#中變為聲明一個引用。呵呵,萬物皆對象,連常見的數據類型都變為對象了,JAVA味道很濃。

4.數組變為了類,因此對于數組里的元素,.NET Framework直接提供了一系列的操作:查找、排序、倒置……

5.在C#里面,數組的元素都是存放在托管堆里面,比起C++的在內存里不確定位置申請一塊連續空間要安全得多。

6,C++的switch后跟參數必須是int型,而C#卻允許string型,這點改進覺得真的是比以前方便多了!

7.C#會禁止所有switch..case語句的失敗情形,除非case語句后是空格,否則執行了前一個case語句就算沒有break也會停止執行后面的case語句。

8.在異常處理上,C++允許拋出任何類型,而C#中規定拋出類型為一個派生于System.Exception的對象。

9.C++的宏在C#中被拋棄了很多,而且也不建議使用,因此很少見。

10.C++的模板在C#里沒有了,但在C#中我們找到了能完成模板任務的更鋒利的武器:委托。

11.C++的全局變量這一概念沒有了,C#和JAVA類似,要把所有東西都放在類里面,還建議使用命名空間包含起來。

12.C#可以在定義類的時候直接給屬性賦值,而C++這么做卻會編譯出錯。

13.C#里有靜態構造函數一個概念,這個構造函數只執行一次,因此能夠保證一些靜態成員只被初始化一遍。

14.C#有自動垃圾收集機制,防止內存泄露,把C++程序員從繁重的內存管理上解放出來。

15.更強的類型轉換保護機制,比如說把float轉成uint,直接轉換0.35會變成0.34,是因為二進制無法表示這樣的數字,使用System.Conver里的方法,可以安全地把類型安全轉換過來。

16.委托與事件、裝箱與取消裝箱、Web Services……一大堆C++沒有的新東西,我感覺是做大型項目方便了管理,也容易擴充,但做起小型項目,由于是編譯成IL代碼的,運行需要.NET Framework SDK支持,效率是個問題,不利于做那些對運算速度和內存消耗要求高的項目。

轉載于:https://www.cnblogs.com/vs91shine/p/9556087.html

總結

以上是生活随笔為你收集整理的C#与C++的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。