Razlika med C in C ++ s primeri | Programski jeziki

Ključna razlika: C in C ++ sta dva različna računalniška programska jezika. C ++ je bil razvit iz programskega jezika C; vendar so po naravi precej drugačne. Najbolj očitna razlika je v tem, da je C jezik, usmerjen v postopek, medtem ko C ++ podpira procesno in objektno usmerjeno programiranje, zato ga pogosto imenujemo hibridni jezik.

C in C ++ sta dva različna računalniška programska jezika. C je prvotno razvil Dennis Ritchie v laboratoriju AT&T Bell med 1969 in 1973. C ++ je še en jezik splošnega namena. Razvit je bil iz prvotnega programskega jezika C. Razvil ga je Bjarne Stroustrup iz Bell Labsa od leta 1979. C ++ je bil prvotno imenovan C z razredi, saj je temeljil na C. To je bilo leta 1983 preimenovano v C ++.

C je eden najstarejših programskih jezikov, ki se trenutno uporablja, in je eden najbolj razširjenih programskih jezikov. Nenehno se uporablja v aplikacijah, ki so bile predhodno kodirane v zbirnem jeziku. To vključuje računalniški operacijski sistem UNIX. C je neposredno ali posredno vplival na veliko poznejših programskih jezikov, kot so C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python in Unix C lupino. Kljub vsem tem novim jezikom C ostaja še vedno priljubljen programski jezik.

C ++ se je prvotno začel kot izboljšava C. Ustvarjen je bil kot vir in povezava, združljiv s C. Vendar pa je dodal razrede, navidezne funkcije, preobremenitev operaterja, večkratno dedovanje, predloge, obdelavo izjem, itd. dovolj, da se lahko šteje za programski jezik. Prvotno je bila ratificirana leta 1998 kot programski jezik ISO / IEC 14882: 1998. C ++ se danes pogosto uporablja za oblikovanje strojne opreme.

C je programski jezik za splošne namene, ki uporablja podpičje (;) kot terminator izrazov, kot tudi zavite oklepaje ({}) za združevanje blokov stavkov. Ima zmogljivosti za strukturirano programiranje in njegova zasnova zagotavlja konstrukte, ki lahko učinkovito preslikajo tipična strojna navodila. Omogoča tudi leksikalno spremenljivko obsega in rekurzije in ima statični sistem tipa, ki preprečuje številne nenamerne operacije.

Vendar ima C v primerjavi s C ++ številne omejitve. Ker C ni objektno usmerjen, ne podpira konceptov OOPS. C ne podpira funkcije in preobremenitve operaterja. Ne more uporabljati funkcij znotraj struktur. Ne podpira virtualnih funkcij in referenčnih spremenljivk ali obdelave izjem. Prav tako ne podpira referenčnih spremenljivk. Poleg tega C tudi ne zapakira ali varuje podatkov. V primerjavi s tem C ++ podpira vse te funkcije.

Poleg tega C ne podpira funkcije NAMESPACE, medtem ko C ++ ne. Prostor imen je dokončno območje, ki omogoča združevanje identifikatorjev (imena vrst, funkcij, spremenljivk itd.). Prostori imen se lahko nato uporabijo za organiziranje kode v logične skupine in za preprečevanje trčenja z imeni. To je še posebej koristno, kadar koda kode vključuje več knjižnic, kar idealno omogoča, da je koda nagnjena k trčenju imen.

Dva jezika se med seboj razlikujeta tudi glede na funkcije pomnilnika naslovov, vhodnega izhoda in programiranja GUI. Na primer, C uporablja funkcije calloc (), malloc () in free () za dodeljevanje in razdeljevanje pomnilnika, medtem ko C ++ uporablja nove in brisanje. C uporablja scanf () in printf () za vhod in izhod, medtem ko C ++ uporablja cin >> in cout << operatorje. C podpira GTK orodje za programiranje GUI, medtem ko C ++ podpira Qt orodja za programiranje GUI. Druga razlika je v tem, da C zahteva, da deklariramo vse spremenljivke na vrhu programa, medtem ko lahko v C ++ spremenljivke deklariramo kjerkoli v programu.

Poleg tega se C ++ običajno šteje za lažje za učenje, saj je uporabniku prijaznejši od C. C ++ ima tudi številne dodatne funkcije, ki olajšajo kodiranje, še posebej za nekoga, ki je nov v C okviru. Vendar mnogi trdijo, da je dejansko pomembna. Dva jezika se tako zelo razlikujeta, da sta dejansko lahko dva različna jezika, ki sta neodvisna drug od drugega. Ne smemo pozabiti, da je C veliko bolj strukturiran kot C ++, medtem ko je bil C ++ zasnovan tako, da je bolj ekspresiven in abstrakten kot C.

Primerjava med C in C ++:

C

C ++

Ustanovljeno

Razvil ga je Dennis Ritchie v laboratoriju AT&T Bell med 1969 in 1973.

Leta 1979 je razvil Bjarne Stroustrup pri Bell Labs.

Izvorna koda

Programska koda prostega formata

Prvotno razvit iz programskega jezika C

Jezik

Jezik, usmerjen v postopek

Podpira procesne in objektno usmerjene paradigme programiranja; zato se pogosto imenuje hibridni jezik.

Pristop

Sledi pristopu od zgoraj navzdol.

Sledi pristopu od spodaj navzgor.

Odnos

C je podmnožica C ++. Ne more izvajati kode C ++.

C ++ je nadskup C. C ++ lahko zažene večino C kode, medtem ko C ne more zagnati C ++ kode.

Vozite

Funkcionalni jezik

Objektno usmerjen jezik

Osredotočite se

Osredotoča se na metodo ali proces in ne na podatke.

Osredotoča se na podatke in ne na metodo ali postopek.

Gradniki

Funkcije

Predmeti

Ključne besede

Vsebuje 32 ključnih besed

Vsebuje 52 ključnih besed

Koncepti OOPS

Ker je jezik "C" jezik, usmerjen v postopek, ne podpira konceptov OOPS, kot so razred, predmet, dedovanje, polimorfizem, skrivanje podatkov itd.

C ++ kot objektno usmerjen jezik podpira razred, objekt, skrivanje podatkov, polimorfizem, dedovanje, abstrakcijo itd.

Funkcije

  • Ne podpira funkcije in preobremenitve operaterja.
  • Funkcij znotraj struktur ni mogoče uporabljati
  • Ne podpira virtualnih funkcij in referenčnih spremenljivk
  • Ne podpira obdelave izjem
  • ne podpira referenčnih spremenljivk
  • nima funkcije imenskega prostora
  • lahko kliče funkcijo main () prek drugih funkcij
  • Podpira funkcijo in preobremenitev operaterja.
  • Lahko uporablja funkcije znotraj struktur
  • Podpira virtualne funkcije in referenčne spremenljivke.
  • Podpira obdelavo izjem s pomočjo bloka try in catch. Izjeme se uporabljajo za "trde" napake, zaradi katerih je koda napačna.
  • podpira referenčne spremenljivke
  • uporablja funkcijo NAMESPACE, ki preprečuje trčenje imen.
  • ne more klicati funkcije main () prek drugih funkcij.

Funkcije pomnilnika

Uporablja funkcije calloc (), malloc () in free () za dodeljevanje in razdeljevanje pomnilnika.

Uporablja operaterje nove in brisanje za isti namen.

Inkapsulacija

Ne podpira. Podatki in funkcije so ločeni in prosti subjekti.

Podpira enkapsulacijo. Podatki in funkcije so združeni v obliki predmeta. Razredni predmeti zagotavljajo načrt strukture objekta.

Skrivanje informacij

C ne podpira skrivanja informacij. Tu so podatki brezplačni subjekti in jih je mogoče manipulirati z zunanjo kodo.

Encapsulation skriva podatke za zagotovitev, da se podatkovne strukture in operaterji uporabljajo, kot je bilo predvideno.

Podatki

Podpira vgrajene in primitivne podatkovne tipe.

Podatki niso zavarovani zaradi neciljne usmerjenosti

Podpira tako vgrajene kot uporabniško definirane podatkovne tipe.

Podatki so zavarovani (skriti) v C ++

Raven

Jezik nizke ravni

Jezik na srednji ravni

Vhodno-izhodni

"C" jezik uporablja scanf () in printf () za vhod in izhod.

Jezik C ++ za operaterje input in output uporablja cin >> in cout << operatorje.

Izjava o spremenljivkah

C zahteva, da deklariramo vse spremenljivke na vrhu programa.

V C ++ lahko spremenljivke pred uporabo deklariramo kjerkoli v programu.

Več deklaracij

Dovoljena je večkratna deklaracija globalnih spremenljivk.

Večkratna deklaracija globalnih spremenljivk ni dovoljena.

Preslikava

Kartiranje med podatki in funkcijo je težko in zapleteno.

Preslikava med podatki in funkcijo se lahko uporabi z "Objects"

Programiranje GUI

C podpira GTK orodje za programiranje GUI

C ++ podpira Qt orodja za programiranje GUI

Dedovanje

Dedovanje pri C ni mogoče

Dedovanje je možno v C ++

Razširitev datoteke

Ima pripono datoteke .c

Ima pripono datoteke .cpp

Privzeta glava datoteke

Privzeta glava datoteke v jeziku C je stdio.h

Privzeta glava datoteke, uporabljena v C ++, je iosteam.h

Nekateri primeri razlike med C in C ++:

Primeri

C

C ++

Deklaracija spremenljivk

Samo na vrhu:

int i;

za (i = 10; i <10; i ++)

Kjerkoli v programu:

za (int i = 10; i <10; i ++)

Dodelitev pomnilnika

Malloc:

int * x = malloc (sizeof (int));

int * x_array = malloc (sizeof (int) * 10);

Novo:

int * x = novo int;

int * x_array = novo int [10];

Sprostitev pomnilnika

Prost:

prosto (x);

brezplačno (x_array);

Izbriši:

izbriši x;

delete [] x_array;

Priporočena

Sorodni Članki

  • razlika med: Razlika med 3D LED TV in 3D LED Smart TV

    Razlika med 3D LED TV in 3D LED Smart TV

    Ključna razlika: 3D LED TV je standardna 3D LED TV. 3D LED Smart TV je 3D LED TV, ki se lahko poveže z internetom. LED televizorji so postali nov trend, nadgradnja na LCD, če morate. Televizorji LED (svetleče diode) so še vedno LCD-televizorji, ki zamenjujejo tehnologijo CCFL (fluorescentne sijalke s hladno katodo) s tehnologijo LED. Zas
  • razlika med: Razlika med HTML5 in PHP

    Razlika med HTML5 in PHP

    Ključna razlika: HTML5 je peta revizija standarda HTML. HTML pomeni HyperText Markup Language. Gre za dobro znani jezik za oblikovanje spletnih strani. Glavni cilji HTML5 so bili izboljšati jezik s podporo za najnovejše večpredstavnost. PHP je skriptni jezik na strani strežnika, ki ima glavno izvedbo v razvoju spletnih strani. Lah
  • razlika med: Razlika med JPG in JPEG

    Razlika med JPG in JPEG

    Ključna razlika: JPG in JPEG sta v bistvu ista stvar. So vrsta datoteke za shranjevanje digitalnih slik. JPG, prvotno JPEG je kratica za Joint Photographic Expert Group. Ime datoteke za sliko JPEG je .jpg ali .jpeg. Med JPG in JPEG dejansko ni razlike, razen števila uporabljenih znakov. Tako JPG kot JPEG sta v bistvu ista stvar.
  • razlika med: Razlika med Samsung Galaxy Tab 2 7.0 in iPad Mini

    Razlika med Samsung Galaxy Tab 2 7.0 in iPad Mini

    Ključna razlika: Samsung Tab 2 7.0 je 7-palčna tableta, ki ponuja PLS TFT LCD zaslon s približno 170 ppi gostoto. Naprava je na voljo tudi v dveh različicah; Samo Wi-Fi in Wi-Fi + 4G. Samo tableto Wi-Fi poganja dvojedrni procesor z 1 GHz in je na voljo z Android v4.0 Ice Cream Sandwich, medtem ko je Wi-Fi + 4G LTE tablični računalnik napajan z 1, 2 GHz Dual-Core procesorjem. z An
  • razlika med: Razlika med Pine in Maple

    Razlika med Pine in Maple

    Ključna razlika: javor in bor sta dve različni vrsti dreves. Izrazi se uporabljajo tudi za označevanje lesa, pridobljenega iz njihovih dreves. Glavna razlika med njima je v tem, da je javor trden les, medtem ko je bor vrsta mehkega lesa. Javor in bor sta dve različni vrsti dreves. Izrazi se uporabljajo tudi za označevanje lesa, pridobljenega iz njihovih dreves. Za
  • razlika med: Razlika med Alcatel One Touch Idol Ultra in Samsung Galaxy S3

    Razlika med Alcatel One Touch Idol Ultra in Samsung Galaxy S3

    Ključna razlika: Alcatel One Touch Idol Ultra ima 4, 65 palčni HD AMOLED zaslon na dotik z ločljivostjo 720 x 1280 slikovnih pik. Telefon je napajan z Dual-Core 1.2 GHz procesorjem na MediaTek MTK 6577 in 1 GB RAM-a. Telefon ima širino 6, 45 mm, kar je vodilo do tega, da ga je razglasil za najtanjši pametni telefon na trgu. Gal
  • razlika med: Razlika med Outletom in Galleria

    Razlika med Outletom in Galleria

    Ključna razlika: Galerija je pravzaprav stekleno ograjena promenada, ki bi lahko hranila trgovine, nakupovalno središče ali karkoli takega. Outlet trgovina so majhne prodajalne, ki prodajajo blago neposredno javnosti. Te prodajalne pogosto vsebujejo le en ali dva blaga in to po znižani ceni. Izraz trgovina se nanaša na dve vrsti nakupovalnih konceptov: blago, kupljeno pri trgovcu na debelo, ali proizvajalec odpre trgovino. Gal
  • razlika med: Razlika med Cimetom in Cassio

    Razlika med Cimetom in Cassio

    Ključna razlika: Cimet ali pravi cimet se nanaša na cejlonski cimet, ki izhaja iz rastline Cinnamomum zeylanicum. Cassia se nanaša na drugo vrsto cimeta, ki izhaja iz drevesa lubja kasije. Oba se razlikujeta v številnih vidikih, kot so okus, cene, vsebina kumarina itd. Pojem cimeta se na splošno nanaša na pravi ali pravi cimet, ki je domači sir Lanka. Izvir
  • razlika med: Razlika med HTC First in LG Optimus F5

    Razlika med HTC First in LG Optimus F5

    Ključna razlika: HTC First je prvi telefon, ki bo izdan s pomočjo Facebook Home uporabniškega vmesnika. Telefon bo poganjal Qualcomm MSM8930 Snapdragon 400 1.4 GHz Dual-Core Krait in 1 GB RAM-a. LG Optimus F5 ima 4, 3-palčni zaslon in bo deloval na Android v4.1.2 (Jelly Bean). Zgrajen je z Dual-Core 1, 2 GHz procesorjem, 1 GB RAM-a in 5MP kamero. V

Izbira Urednika

Razlika med Microsoft Surface RT in Lenovo IdeaPad Yoga 11

Ključna razlika: Microsoft Surface RT je tableta z 10, 6-palčnim TFT HD kapacitivnim zaslonom na dotik s približno 148 ppi gostoto. Zaslon omogoča pravo razmerje 16: 9. Vendar pa operacijski sistem ni združljiv s starimi računalniškimi programi Windows. Edinstven vidik Lenovo IdeaPad Yoga 11 je, da je zamenljiv laptop z multi-mode 360 ​​deg Flip design. To omogoč