C#語言與C++的10大區(qū)別:
1、C#與C++比較的話,最重要的特性就是C#是一種完全面向對象的語言,而C++是既面向過程又面向對象的語言,另外C#是基于IL中間語言和.NET Framework CLR的,在可移植性,可維護性和強壯性都比C++有很大的改進
(1)C++是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數(shù)據(jù)類型為特點的基于對象的程序設計,還可以進行以繼承和多態(tài)為特點的面向對象的程序設計。
(2)面向對象主要是說,在系統(tǒng)設計和實現(xiàn)上用的思想,面向對象的思想的運用,就是先從系統(tǒng)需求中確定類,然后按類實例化對象,對象之間的通信就實現(xiàn)了系統(tǒng)的功能。
(3)面向過程,即系統(tǒng)的實現(xiàn)是分過很多按流程或工序設計的不同功能(函數(shù))來實現(xiàn),就是先干什么,后干什么,主要是靠函數(shù)的調用,因為面向過程沒有對象,所以這些函數(shù)不屬于任何對象,沒有封裝、繼承等的靈活運用,系統(tǒng)一旦龐大,其設計和實現(xiàn)的復雜性和可控性跟面向對象不是一個數(shù)量級的。)
2、C#不支持多重繼承,這是與C++明顯區(qū)別的地方.
3、在標準的C#安全代碼中不支持指針類型的操作,然而,你卻能在微軟所謂的“非安全代碼”中操作指針類型對象。
4、C#中所有對象都只能通過關鍵詞“new”來創(chuàng)建,C++的“類名_對象名”方式在C#中變?yōu)槁暶饕粋€引用。呵呵,萬物皆對象,連常見的數(shù)據(jù)類型都變?yōu)閷ο罅?,JAVA味道很濃。
5、在C#里面,數(shù)組的元素都是存放在托管堆里面,比起C++的在內存里不確定位置申請一塊連續(xù)空間要安全得多。
6、C++的switch后跟參數(shù)必須是int型,而C#卻允許string型,這點改進覺得真的是比以前方便多了!
7、C#會禁止所有switch..case語句的失敗情形,除非case語句后是空格,否則執(zhí)行了前一個case語句就算沒有break也會停止執(zhí)行后面的case語句。
8、在異常處理上,C++允許拋出任何類型,而C#中規(guī)定拋出類型為一個派生于System.Exception的對象。
9、C++的宏在C#中被拋棄了很多,而且也不建議使用,因此很少見。
10、C++的模板在C#里沒有了,但在C#中我們找到了能完成模板任務的更鋒利的武器:委托。
以上就是關于“C#語言與C++有哪些區(qū)別”的內容介紹,希望對大家學習有所幫助。想要了解更多關于學習C#語言與C++、C#語言與C++培訓的相關資訊歡迎來咨詢。