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 izsiljevanjem in izsiljevanjem

    Razlika med izsiljevanjem in izsiljevanjem

    Ključna razlika: Izsiljevanje se nanaša na zastraševanje ali grožnjo osebi z nasiljem v zameno za denarno odškodnino, izsiljevanje pa se nanaša na grožnjo osebi s socialnim, čustvenim ali poklicnim uničenjem v zameno za denarno odškodnino ali nekaj, kar počne izsiljevalec želi. Pohlep človeštva ne pozna meja. Na žalost ob
  • razlika med: Razlika med Monkey in Gorilla Testing

    Razlika med Monkey in Gorilla Testing

    Ključna razlika: Cilj Monkey Testing je naključno poskusiti zrušiti sistem in zagotoviti, da ga ne. V programu Gorilla Testing se en modul programa vedno znova preizkuša, da se zagotovi pravilno delovanje in da v tem modulu ni napak. Monkey in Gorilla Testing sta dve različni vrsti testiranja, ki se izvaja na kosu programske opreme, preden se lahko sprosti na trg. Pro
  • razlika med: Razlika med SSD in trdim diskom

    Razlika med SSD in trdim diskom

    Ključna razlika: SSD-ji uporabljajo flash pomnilnik, da uporabnikom omogočajo shranjevanje podatkov. Trdi diski so podobni notranjim trdim diskom z magnetnimi trakovi za shranjevanje podatkov. Zaradi tehnološkega razcveta se v računalniku te dni skoraj vse opravi. Z vedno večjo količino podatkov, ki jih lahko zahtevate ali kopičite, so potrebni dodatni načini shranjevanja. Dodatn
  • razlika med: Razlika med botaniko in zoologijo

    Razlika med botaniko in zoologijo

    Ključna razlika: botanika in zoologija sta obsežni biološki veji. Botanika se v celoti ukvarja s študijem rastlin, medtem ko se zoologija ukvarja z raziskavami na živalih. Biologija je ogromno polje, ki se ukvarja s številnimi vrstami živih organizmov. To je naravna znanost, ki vključuje celotno študijo živih organizmov. Biološka
  • razlika med: Razlika med pivom in močnim pivom

    Razlika med pivom in močnim pivom

    Ključna razlika: Obstajata dve glavni vrsti piva: ales in lagers. Lager je pivo spodaj fermentirano. V njem se kvas zbira na dnu posode, ko fermentira. Močno pivo je katera koli vrsta piva z visoko vsebnostjo alkohola. Pivo je ena najstarejših alkoholnih pijač, ki je tudi najbolj priljubljena. Pivo je tretja najbolj priljubljena pijača (alkoholna ali ne). Prv
  • razlika med: Razlika med tumorjem in rakom

    Razlika med tumorjem in rakom

    Ključna razlika: človeško telo je kompleksno. Včasih celice telesa ne delujejo tako, kot bi morale. Lahko se začnejo nenadzorovano deliti in naraščati. Te dodatne celice se nagnejo skupaj in začnejo tvoriti majhne grudice ali rastline. Sčasoma se vedno več celic začne držati teh kock, zaradi česar se še povečujejo. Te grudice se
  • razlika med: Razlika med talentom in veščinami

    Razlika med talentom in veščinami

    Ključna razlika: Talent se nanaša na naravno zmožnost ali sposobnost, da nekaj naredimo. Po drugi strani pa spretnost pomeni sposobnost, ki jo pridobimo z vadbo in vadbo. Samo omejeno število ljudi je podeljenih z nadarjenostjo, vendar je vsakdo, ki ima pravi potencial in voljo, upravičen do učenja spretnosti. incl
  • razlika med: Razlika med srčnim zastojem in asistolijo

    Razlika med srčnim zastojem in asistolijo

    Ključna razlika: Srčni zastoj je bolezen srca, pri kateri srce ne deluje pravilno, zato ne more učinkovito krožiti krvi v druge organe. Srčni zastoj povzroči nepravilno prenašanje srca, ki povzroči, da preneha oskrbovati krvni obtok drugim organom, vključno z možgani. Asistola je medicinski izraz, v katerem monitor elektrokardiografije kaže ravno linijo ali brez srčne električne aktivnosti. Asistola je
  • razlika med: Razlika med Samsung Galaxy S Duos in Samsung Galaxy S3

    Razlika med Samsung Galaxy S Duos in Samsung Galaxy S3

    Ključna razlika: Samsung Galaxy S Duos je telefon z dvema SIM karticama, ki je bil predstavljen septembra 2012. Telefon je opremljen s 4-palčnim TFT kapacitivnim zaslonom na dotik, z gostoto približno 233 ppi. Naprava prihaja z Samsung TouchWiz uporabniškim vmesnikom na Android 4.0.4 ICS. Galaxy S3 je pametni pametni telefon, ki se je začel maja 2012 in je naslednik modela Galaxy S2 in Galaxy S, vendar opušča pravokotno obliko predhodnikov in se odloči za bolj zaobljene vogale, da je podoben Galaxy Nexusu. S3 je

Izbira Urednika

Razlika med Baby Tube in Normal Baby

Ključna razlika: Preskusna Baby, znanstveno znana kot In vitro Oploditev je proces oploditve jajc zunaj ženskega telesa. Normalni otrok je otrok, ki se je rodil z naravno nosečnostjo in oploditvijo. Otroška epruveta ali IVF je proces oploditve jajčec izven telesa. Ta metoda se običajno uporablja, kadar normalen otrok ali naravni porod ni mogoč. IVF a