久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C 與C#的區(qū)別是什么,?

 ThinkfunQd 2018-07-26

C++與C#的區(qū)別是什么?

來自 匿名用戶 的提問

最佳答案
由提問者推薦

  • 匿名用戶

    copy的,,你看看語法結(jié)構上,C++和C#基本上相同,只有以下方面有所區(qū)別:1,、繼承:C++支持多繼承,,C#類只能繼承一個基類中的實現(xiàn)但可以實現(xiàn)多個接口,。2,、數(shù)組:聲明 C# 數(shù)組和聲明 C++ 數(shù)組的語法不同,。在 C# 中,,“[]”標記出現(xiàn)在數(shù)組類型的后面。3,、數(shù)據(jù)類型:在C++中bool類可以與整型轉(zhuǎn)換,,但C#中bool 類型和其他類型(特別是 int)之間沒有轉(zhuǎn)換,。long 類型:在 C# 中,long 數(shù)據(jù)類型為 64 位,,而在 C++ 中為 32 位。4,、struct 類型:在 C# 中,,類和結(jié)構在語義上不同,。struct 是值類型,,而 class 是引用類型,。5、switch 語句:與 C++ 中的 switch 語句不同,C# 不支持從一個 case 標簽貫穿到另一個 case 標簽,。C++的switch后跟參數(shù)必須是int型,,而C#卻允許string型6,、delegate 類型:委托與 C++ 中的函數(shù)指針基本相似,,但前者具有類型安全,,是安全的。7,、C#中所有對象都只能通過關鍵詞“new”來創(chuàng)建,,C++的“類名_對象名”方式在C#中變?yōu)槁暶饕粋€引用。8,、異常處理:C#中引入了 finally 語句,,這是C++沒有的,C++允許拋出任何類型,,而C#中規(guī)定拋出類型為一個派生于System.Exception的對象,。9、C# 運算符:C# 支持其他運算符,,如 is 和 typeof,。它還引入了某些邏輯運算符的不同功能。10,、static 的使用:static方法只能由類名調(diào)用,,改變static變量。11,、C#在構造基類上替代 C++ 初始化列表的方法,。12、Main 方法和 C++ 及Java中的 main 函數(shù)的聲明方式不同,Main而不能用main13,、方法參數(shù):C# 支持 ref 和 out 參數(shù),,這兩個參數(shù)取代指針通過引用傳遞參數(shù)。14,、在 C# 中只能在unsafe不安全模式下才使用指針,。15、在 C# 中以不同的方式執(zhí)行重載運算符,。16,、字符串:C# 字符串不同于 C++ 字符串。17,、C# 中沒有全局方法和全局變量:方法和變量必須包含在類型聲明(如 class 或 struct)中,。18、C# 中沒有頭文件和 #include 指令:using 指令用于引用其他未完全限定類型名的命名空間中的類型,。19,、C# 中的局部變量在初始化前不能使用。20,、析構函數(shù):在 C# 中,,不能控制析構函數(shù)的調(diào)用時間,原因是析構函數(shù)由垃圾回收器自動調(diào)用,。21,、構造函數(shù):與 C++ 類似,如果在 C# 中沒有提供類構造函數(shù),,則為您自動生成默認構造函數(shù),。該默認構造函數(shù)將所有字段初始化為它們的默認值。22,、在 C# 中,,方法參數(shù)不能有默認值。如果要獲得同樣的效果,,需使用方法重載,。 c++在設計之初希望提供先進的面向?qū)ο筇匦裕瑫r提供很好的性能,。但是為了保證和以往的程序,、開發(fā)人員的知識兼容,c++與c語言幾乎完全兼容,。c語言本身其實就是現(xiàn)代計算機的高級抽象,,可以直接訪問地址、通過指針可以訪問幾乎任何內(nèi)存地址,;堆和棧的結(jié)構體現(xiàn)等待,。當然c++也就具有了這樣的特性,。隨著 c++的逐步發(fā)展,generic programming 泛型編程技術和stl標準模板庫的引入,,c++和c的差異越來越大,。基本上c++是為了高效地使用面向?qū)ο蠹夹g或者泛型技術編寫大規(guī)模高性能應用程序(往往是一些相對比較底層的應用程序)而設計的,。沒有什么語言能比C++更加貼近Windows本身了,,這一點也是不可否認的。C++更針對計算機的底層,,而C#更注重對上層應用程序的支持。 目前絕大多數(shù)的大型游戲都是用C++做的,,而網(wǎng)絡應用,、應用軟件的半壁江山被C#和JAVA所占領。C#能做的,,C++不一定都能做,,C++能做的,C#也不一定都好做,。 c#通過底層的虛擬機機制減少了c/c++語言中常常容易發(fā)生的內(nèi)存泄漏和安全性問題,,代價是運行速度減慢。同樣的由于簡化了編程語言的復雜性(c#遠遠比c++來得簡單),,大大提高了開發(fā)者的效率,。另外c#具有.net龐大的類庫,這個優(yōu)勢是c++所不具有的,。因此c#非常合適開發(fā)企業(yè)中處理業(yè)務的應用程序,。同時微軟所有的操作系統(tǒng)、服務器程序,、桌面端程序都在向.net平臺統(tǒng)一,。在歷史上與次類似的情形(指微軟技術)只有在微軟從16位平臺向32位平臺轉(zhuǎn)變的過程中發(fā)生過。 C# 是純面向?qū)ο笳Z言,,C++ 除了面向?qū)ο?,也面向過程。C# 支持垃圾收集,,C++ 不支持垃圾收集,。C#需要虛擬機器,C++ 不需要虛擬機器,。C# 的執(zhí)行檔是中間碼,,叫做 managed code,透過 NGWS Runtime 來執(zhí)行,。除了 C#,,你也可以用其它程序語言(例如 Visual Basic,、C++)來作出 managed code。C# 使用 Platform-Independent Type,,C++ 的 type 會受到平臺的影響,。 C#調(diào)用Win32 API的方式繁雜,C++這一點做得比它好,。但是,,C#強大的網(wǎng)絡操作,代碼量大大地低于C++,,我們拋棄不用Socket,,改用WinInet或是MFC中的封裝好的網(wǎng)絡類,比如CHttpFile,,還是沒C#簡單,。C#的傻瓜式的類庫操作和面向?qū)ο缶幊痰耐昝捞匦裕_實讓其成為了Windows平臺上最受歡迎的語言,。 C#中不通過Win32 API就那么一種方式,,通過System.Diagnostics.Process找到進程,然后Kill之,,而C++中,,我們完全有無數(shù)種選擇,如進程內(nèi)存填0,,卸載模塊,,消息洪水,句柄強制關閉,,強制釋放它的堆等等,,甚至注入進去,內(nèi)部Raise一個異常,,它也就會結(jié)束,。保護進程,不管內(nèi)核下還是應用層,,C#肯定是做不了的,,C++有自己高端的地方,其他語言無法涉足,。所以沒有用C#做的殺毒軟件就不足為奇了,。 C#極其簡易的界面操作,令人看著很舒服的編碼,,他有太多的地方,,C++根本無法涉足。沒人拿C++做Web Services,,超級大量的數(shù)據(jù),,拿垃圾回收基本上為0的C++去做,,簡直就是自找麻煩。C#的WebForm,,和Jsp占據(jù)著Web的大片江山,,C++不能。C#是一門博大精深的語言,,類庫強大,。C#更加注重于軟件工程的應用,各種設計模式的使用,,C++則注重于實現(xiàn)功能,。 C#的前景是不錯的,我個人很看好它,,MSDN 雜志每期的文章可能有8成是C#,,C++不算很多,微軟的重心可能在C#上,,希望C#逐漸能取代C++,。但是C++會這么容易被取代,?不可能,。就像一個搞管理的,你讓他接管搞開發(fā)的人,,讓他從干一樣到同時兼干這二樣,,會有這么簡單么?c++的生命力至少還要7-8年,,之后才會漸漸的淡出,,但是只要追求自由的人存在,C++就不會消失,;只要操作系統(tǒng)一天是用C++寫的,,C++就不會消失。開發(fā)數(shù)據(jù)庫,,傾向于用C#,,做Windows底層,我肯定是C++,。C#的Linq to Sql讓不懂數(shù)據(jù)庫的人都能去操做數(shù)據(jù)庫了,,輔助一些第三方類庫,能發(fā)揮強大的威力,。完全取代C++,,等操作系統(tǒng)是C#寫的,C#能開發(fā)系統(tǒng)中的一切組件的時候再說吧,,至少現(xiàn)在C#還不能開發(fā)IsAPI,、驅(qū)動,。

    2017-01-19

    19

    0

其他4條回答

其他回答
4條回答

  • 匿名用戶

    全部的 文章,太長了,。,。一共四部分C#面向?qū)ο蠡A 初學者學面向?qū)ο蟮臅r候沒必要(也做不到)把面向?qū)ο髮W的非常透、非常深,,因為如果想深刻的理解面向?qū)ο?,必須要有大量的編程?jīng)驗才能真正體會面向?qū)ο蟮降资窃趺椿厥隆⒂惺裁春锰?。以前聽到過有人建議初學者學習設計模式,,我認為純屬誤人子弟,對于初學者來說沒有大量的編程經(jīng)驗,,根本看不懂設計模式在說什么,。這個階段只要弄明白怎么聲明類、什么是訪問級別(主要是public,、private),、什么是屬性、字段,、方法,、什么是繼承、什么是override就可以,。面向?qū)ο笥腥齻€特性:封裝,、繼承、多態(tài),。對于初學者來說理解多態(tài)是非常困難的也是沒太大必要的,,這個階段只要能掌握封裝和繼承就可以。另外,虛機團上產(chǎn)品團購,超級便宜

    2017-01-19

    5

    0

  • 匿名用戶

    就是c++可編譯,,C#更像是解釋型語言

    2017-01-19

    0

    0

  • 匿名用戶

    C++是本機開發(fā)(native develop)語言,,其標準有ISO規(guī)定不是由大公司決定,各大操作系統(tǒng)都有C++編譯器(VC++, GCC, Intel),,因為生成的是二進制代碼,,通常程序運行速度比C#和java都快,主要的應用領域在一些桌面軟件,,游戲軟件和對速度和性能要求較高的地方,。C#是托管語言,生成的是托管代碼,,由一層虛擬機再最終將它執(zhí)行,,所以速度自然沒有C++程序快,而且是主要在微軟的windows平臺使用,語言標準由微軟指定,,但是它開發(fā)比較簡單,,上手比較容易,適合一些需要快速開發(fā)原型的領域,。以上僅僅是個人的一些見解,。

    2017-01-19

    5

    0

  • 匿名用戶

    抄來的: C#是用來做應用程序和軟件的,優(yōu)點就是快速開發(fā),有功能強大的.NET FRAMEWORK的支持. 而C/C++是用來做系統(tǒng)程序的,(也能做應用軟件,但沒有C#方便),優(yōu)點很多,比其它的高級語言更容易對內(nèi)存,以及作系統(tǒng)底層相關的開發(fā),比起匯編語言,它具有良好的可移植性. 就看你是想發(fā)展哪方面了,還有一點不得不說,C#主要在microsoft Visual stdio.net下得以應用,目前不能在linux以及其它的操作系統(tǒng)下用(因為據(jù)我所知C#編譯器只是在集成在.NET環(huán)境下有,其它的沒有聽說過),而且microsoft開發(fā)出來.net時說.net會牛十年,所以那個時候C#可能就不像現(xiàn)在這樣作為市場上的主流開發(fā)語言了,它的結(jié)果如何誰也不知道,但是C/C++是純粹就是一門計算機高級編程語言(其實它應該是介于匯編語言和高級語言之間的計算機編程語言),它沒有局限在任何的OS,編譯器,,再加上其它強大的開發(fā)能力,是不會被淘汰的,計算機編程語言發(fā)展的規(guī)則是向更高級,易開發(fā),更方便的方向發(fā)展的,不會再發(fā)展出一個像C一樣的系統(tǒng)底層開發(fā)語言,所以學好C/C++還是很必要的,但如果你不想做這些系統(tǒng)底層開發(fā)工作,也就不用對C進行太深入地研究了,在編程方面應該對算法以及數(shù)據(jù)結(jié)構進行深入學習. 現(xiàn)在的高級語言如C#,主要把它的語法,也就是編程方法學會,然后對其編程機制進行一些學習就夠了,重要的是其它的東西,如學C#更重要是的對.NET FRAMEWORK機制的了解,大部分的高級語言(C/C++/JAVA例外)就是這樣,其實并不是特別特別重要,關鍵是編程思想

    2017-01-19

    4

    0

  • 廣告

    前往了解治療方法

推薦內(nèi)容

    正在加載...

? 2018 Sogou Inc.

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多