Samankaltaisuudet välillä C ja C++ ovat:
- Molemmilla kielillä on samanlainen syntaksi.
- Molempien kielten koodirakenne on sama.
- Molempien kielten kokoelma on samanlainen.
- Niillä on sama perussyntaksi. Lähes kaikki C:n operaattorit ja avainsanat ovat myös C++:ssa ja tekevät saman asian.
- C++:ssa on hieman laajennettu kielioppi kuin C:ssä, mutta peruskielioppi on sama.
- Molempien perusmuistimalli on hyvin lähellä laitteistoa.
- Molemmilla kielillä on samat käsitteet pinosta, pinosta, tiedostolaajuudesta ja staattisista muuttujista.

10 prosenttia 60:stä
Erot välillä C ja C++ ovat:
C++:aa pidetään usein C:n superjoukkona. C++ tunnetaan myös C:nä, jossa on luokka Tämä oli lähes totta, kun C++ luotiin alun perin, mutta nämä kaksi kieltä ovat kehittyneet ajan myötä, ja C on poiminut joukon ominaisuuksia, jotka joko eivät olleet t löytyy C++:n nykyaikaisesta versiosta tai niitä ei ole vieläkään tehty mihinkään C++-versioon. C++ on kuitenkin edelleen enimmäkseen C-lisäyksen superjoukko Olio-ohjelmointi , Poikkeuskäsittely , mallipohja ja laajempi vakiokirjasto.
katrina kaif
Alla on taulukko joistakin selvemmistä ja yleisimmistä eroista C:n ja C++:n välillä. Kielten ja kielten versioiden välillä on monia hienovaraisempia eroja.
| C | C++ |
|---|---|
| C:n kehitti Dennis Ritchie vuosina 1969-1973 AT&T Bell Labsissa. | C++:n kehitti Bjarne Stroustrup vuonna 1979. |
| C ei tue polymorfismia, kapselointia ja periytymistä, mikä tarkoittaa, että C ei tue olio-ohjelmointia. | C++ tukee polymorfismi , kapselointi , ja perinnön koska se on olio-ohjelmointikieli. |
| C on (enimmäkseen) C++:n osajoukko. | C++ on (enimmäkseen) C:n superjoukko. |
| Lukumäärä avainsanoja C:ssa: * C90: 32 * C99: 37 * C11: 44 * C23: 59 | Lukumäärä avainsanoja C++:ssa: * C++98: 63 * C++11: 73 * C++17: 73 * C++20: 81 |
| Koodin kehittämiseen C tukee menettelyohjelmointi . | C++ tunnetaan hybridikielinä, koska C++ tukee molempia menettelyllinen ja olio-ohjelmoinnin paradigmat . |
| Data ja funktiot erotetaan C:ssä, koska se on proseduuriohjelmointikieli. | Data ja funktiot kapseloidaan yhteen objektin muodossa C++:ssa. |
| C ei tue tietojen piilottamista. | Kapselointi piilottaa tiedot varmistaakseen, että tietorakenteita ja operaattoreita käytetään tarkoitetulla tavalla. |
| C:ssä tuetaan sisäänrakennettuja tietotyyppejä. | Sisäänrakennettuja ja käyttäjän määrittämiä tietotyyppejä tuetaan C++:ssa. |
| C on funktioohjattu kieli, koska C on proseduuriohjelmointikieli. | C++ on olioohjattu kieli, koska se on olio-ohjelmointia. |
| Toimintojen ja käyttäjän ylikuormitusta ei tueta C:ssä. | Toimintojen ja operaattorin ylikuormitusta tukee C++. |
| C on funktioohjattu kieli. | C++ on oliopohjainen kieli |
| C:n toimintoja ei ole määritelty rakenteiden sisällä. | Funktioita voidaan käyttää rakenteen sisällä C++:ssa. |
| Nimiavaruuden ominaisuuksia ei ole C:n sisällä. | Nimiavaruus käyttää C++, joka välttää nimien törmäykset. |
| Normaali IO-otsikko on stdio.h . | Normaali IO-otsikko on iostream.h . |
| C ei tue viitemuuttujia. | Viitemuuttujia tukee C++. |
| C ei tue virtuaali- ja ystävätoimintoja. | Virtuaalinen ja ystävätoiminnot niitä tukee C++. |
| C ei tue perintöä. | C++ tukee periytymistä. |
| Sen sijaan, että keskittyisi dataan, C keskittyy menetelmään tai prosessiin. | C++ keskittyy dataan sen sijaan, että keskittyisi menetelmään tai menettelyyn. |
| C tarjoaa malloc() ja calloc() toimintoja varten dynaaminen muistin varaus , ja vapaa() muistin varauksen purkamista varten. | C++ tarjoaa uusi operaattori muistin varaamiseen ja poista operaattori muistin varauksen purkamista varten. |
| C ei tue suoraa tukea poikkeusten käsittelylle. | Poikkeuskäsittely tukee C++. |
| scanf() ja printf()-funktioita käytetään syöttämiseen/tulostukseen C:ssä. | cin ja cout käytetään tulo/lähtö C++:ssa . |
| C-rakenteissa ei ole käyttöoikeusmuutoksia. | C ++ -rakenteissa on pääsyn muokkaajat. |
| C-ohjelmointikielessä ei ole tiukkaa tyyppitarkistusta. | Tiukka tyyppitarkistus tehty C++:lla. Niin monet ohjelmat, jotka toimivat hyvin C-kääntäjässä, aiheuttavat monia varoituksia ja virheitä C++-kääntäjässä. |
| C ei tue ylikuormitusta | C++ tukee ylikuormitusta |
| Tyyppilyönti liitoilla on sallittu (C99 ja uudemmat) | Tyyppilyönti ammattiliittojen kanssa on määrittelemätöntä käytöstä (paitsi hyvin erityisissä olosuhteissa) |
| Nimetyt alustuslaitteet saattavat näkyä epäkunnossa | Nimettyjen alustajien on vastattava rakenteen tietojen asettelua |
| Tiedostotunniste on .c | Tiedostotunniste on .cpp tai .c++ tai .cc tai .cxx |
| Metaohjelmointi: makrot + _Generic() | Meta-ohjelmointi: mallit (makroja tuetaan edelleen, mutta niitä ei suositella) |
| C:ssä on 32 avainsanaa | C++:ssa on 97 avainsanaa |