九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C 與C#的區(qū)別是什么?

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

來自 匿名用戶 的提問

最佳答案
由提問者推薦

  • 匿名用戶

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

    2017-01-19

    19

    0

其他4條回答

其他回答
4條回答

  • 匿名用戶

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

    2017-01-19

    5

    0

  • 匿名用戶

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

    2017-01-19

    0

    0

  • 匿名用戶

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

    2017-01-19

    5

    0

  • 匿名用戶

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

    2017-01-19

    4

    0

  • 廣告

    前往了解治療方法

推薦內(nèi)容

    正在加載...

? 2018 Sogou Inc.

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
編程范式面向?qū)ο缶幊?底層操作系統(tǒng)提供了一個(gè)FILE結(jié)構(gòu)體包含了相應(yīng)的5個(gè)函數(shù)指針分別指向這些函數(shù))程序應(yīng)該與設(shè)備無關(guān)
Scala 編程語言
C++ C# VC VC.net以及VC++有什么區(qū)別和聯(lián)系?
C 編程雜談之一:編譯器
Java 語言的發(fā)展史
各種編程語言大PK,純干貨
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服