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 typing, 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รถ.
- Code bรถr fรถlja en specifik arkitektur och mรฅste vara portabel.
- Code bรถr vara lรคtt "tolkad 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. |

