C# vs C++: Skillnaden mellan dem
Nyckelskillnaden mellan C# och C++
- C++ är ett programmeringsspråk på låg nivå som lägger till objektorienterade funktioner till sitt basspråk C medan C# är ett språk på hög nivå.
- C++ kompilerar ner till maskinkod medan C# 'kompilerar' ner till CLR (Common Language Runtime), som tolkas av JIT i ASP.NET.
- C++ är ett objektorienterat språk medan C# anses vara ett komponentorienterat programmeringsspråk.
- In C++ du måste hantera minnet manuellt medan C# körs i en virtuell maskin, som utför minneshantering automatiskt.
- In C++ utveckling bör följa vilken specifik arkitektur som helst och måste vara portabel medan C#-utveckling bör vara enkelt, modem, allmänt ändamål, objektorienterat programmeringsspråk.
Vad är C++?
C++ är ett datorprogrammeringsspråk som innehåller funktionen för programmeringsspråk C samt Simula67 (ett första objektorienterat språk). C++ introducerade begreppet klass och objekt.
Den kapslar in språkfunktioner på hög och låg nivå. Så det ses som ett språk på mellannivå. Tidigare kallades det "C med klasser" eftersom det hade alla C-språkets egenskaper.
Vad är C #?
C-Sharp är ett objektorienterat programmeringsspråk utvecklat av Microsoft som körs på .Net Framework. Den har funktioner som stark skrivning, imperativ, deklarativ, objektorienterad (klassbaserad) och komponentorienterad programmering. Den utvecklades av Microsoft inom .NET-plattformen.
Namnet "C sharp" var inspirerat av musikaliska noter. Här anger '#'-symbolen att den skrivna tonen måste göras en halvton högre i tonhöjd.
Historien om C++
C++ språket utvecklades av Bjarne Stroustrup på AT & T Bell Laboratories. Stroustrup var en stark anhängare av C en beundrare av Simula67. Han ville kombinera det bästa av båda språken. Han siktade på att skapa ett språk som stöder objektorienterade programmeringsfunktioner och som fortfarande behåller kraften i C. Detta resulterade i C++.
Historien om C#
Anders Hejlsberg är den viktigaste bidragsgivaren till C#-språkutveckling. 1999 byggde han ett team för att utveckla ett nytt språk som då kallades "Cool". Projektet godkändes och tillkännagavs i juli 2000 vid .Net Developers Conference. Språket döptes senare om till C#.
Principer för C++ utveckling
- Programmet ska vara enkelt, objektorienterat och lätt att förstå
- Utvecklingen bör ske i en robust och säker miljö.
- Koden bör följa specifik arkitektur och måste vara portabel.
- Koden ska vara lätt att "tolka och dynamisk"
Principer för C#-utveckling
- Det ska vara enkelt, modem, allmänt, objektorienterat programmeringsspråk.
- Språket och implementeringarna ska ge stöd för mjukvaruutveckling Principerna
- C# är ett idealiskt val för att bygga applikationer för både värdbaserade och inbyggda system.
Nu i detta C# vs C++ tutorial, låt oss förstå de viktigaste skillnaderna mellan C Sharp vs C++.
Parameter | C++ | C# |
---|---|---|
Typ av språk | C++ är ett lågnivå- och plattformsneutralt programmeringsspråk. | C# är ett språk på hög nivå. |
sammanställa | C++ kompilerar ner till maskinkod | C# 'kompilerar' ner till CLR (Common Language Runtime), som tolkas av JIT i ASP.NET |
Minneshantering | In C++, måste du hantera minnet manuellt om du dynamiskt allokerar objekt. | C# kör minneshantering automatiskt |
Flera arv | C++ stödja de multipla arven | C# stöder inte flera arv. |
Svårighetsgrad | C++ innehåller mer komplexa funktioner. | C# har inga komplexa funktioner. Den har en enkel hierarki och ganska lätt att förstå. |
Standardåtkomstspecifikator | Offentlig i C++ för Struct. Privat för klasser | Privat i C# .net. |
plattform | C++ är ett språk som körs på alla möjliga plattformar. Det är också lika populärt på Unix- och Linux-system. | C#, även om det är standardiserat, ses sällan utanför fönster. |
Fristående applikationer | C++ kan skapa fristående applikationer. | C# kan inte göra en fristående applikation. |
Objektorienterad | C++ är inte ett fullständigt objektorienterat språk. | C# är ett rent objektorienterat språk. |
Inbunden kontroll | Stöder inte bunden kontroll av arrayer. | Stöder bunden kontroll av arrayer. |
Skräp samling | C++ stöder inte sophämtning. | C# stöder sophämtning. |
Flera arv | C++ stöder multipelt arv. | C# erbjuder inte flerklassarv. |
Foreach Loop | Äldre version av C++ stöder inte för varje slinga. (Räckviddsbaserad för loop in C++ tillkommer sedan C++ 11) | C# stöder för varje slinga. |
Användning av pekare | Du kan använda pekare var som helst i programmet. | Du kan endast använda pekaren i det osäkra läget. |
Används för | Används flitigt inom spel. | C#-programmering kan användas för att skapa Windows, mobil- och konsolapplikationer. |
Storlek på binärer | C++ är mycket lättare. | C# har mycket overhead och bibliotek bör inkluderas innan det kommer att kompileras. |
Typ av projekt | C++ Programmerare fokuserar i allmänhet på applikationer som fungerar direkt med hårdvara eller som behöver bättre prestanda än andra språk kan erbjuda. | C# används för modern apputveckling. |
Kompilatorvarningar | C++ låter dig göra nästan vad som helst förutsatt att syntaxen är rätt. Därför är det ett flexibelt språk, men du kan orsaka allvarlig skada på operativsystemet. | C# är mycket skyddat. eftersom det kommer kompilatorn att skicka fel och varningar om du av misstag skriver kod som kan orsaka skada. |
Sammanställningsresultat | Efter sammanställning, C++ kod omvandlas till maskinkod. | Efter kompileringen omvandlas C#-koden till en mellanspråkskod. |
Byt uttalande | In C++ Switch Statement, testvariabeln kan inte vara en sträng. | I en C#-switchsats kan det vara en sträng eller inte. |