logo

Ero C:n ja C++:n välillä

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