Diferența dintre C și C ++ cu exemple Limbaje de programare

Diferența de bază: C și C ++ sunt două limbi de programare diferite. C ++ a fost dezvoltat din limbajul de programare C; totuși ele sunt destul de diferite în natură. Cea mai evidentă diferență este că C este un limbaj orientat spre procedură, în timp ce C ++ suportă atât programarea orientată pe procedură, cât și pe cea orientată pe obiecte, de aceea se numește de multe ori o limbă hibridă.

C și C ++ sunt două limbi de programare diferite. C a fost inițial dezvoltată de Dennis Ritchie la AT & T Bell Labs între 1969 și 1973. C ++ este un alt limbaj de programare cu scop general. Acesta a fost dezvoltat din limba originală de programare C. Acesta a fost dezvoltat de Bjarne Stroustrup la Bell Labs începând din 1979. C ++ a fost inițial numit C cu clase, așa cum se bazase pe C. A fost redenumit C ++ în 1983.

C este una dintre cele mai vechi limbi de programare utilizate în prezent și este una dintre cele mai utilizate limbi de programare. Acesta a fost utilizat în mod constant în aplicațiile care au codificat anterior în limba de asamblare. Acesta include sistemul de operare pentru calculatoare UNIX. C, de asemenea, a influențat direct sau indirect o mulțime de limbi de programare ulterioare, cum ar fi C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python și shell-ul C de Unix. În ciuda tuturor acestor limbi noi, C rămâne un limbaj de programare popular.

C ++ a început inițial ca un accesoriu la C. Ea a fost proiectată să fie compatibilă cu sursa și link-ul cu C. Totuși, a adăugat clase, funcții virtuale, supraîncărcare operator, moștenire multiplă, șabloane, manipulare excepții etc. suficient pentru a fi considerat un limbaj de programare în sine. Acesta a fost inițial ratificat în 1998 ca limbă de programare certificată ISO / IEC 14882: 1998. Astăzi, C ++ este acum utilizat în mod curent pentru proiectarea hardware.

C este un limbaj de programare cu scop general care folosește semicolonul (;) ca terminator al instrucțiunilor, precum și brațele curl ({}) pentru gruparea blocurilor de instrucțiuni. Dispune de facilități pentru programarea structurată, iar designul său oferă construcții care pot hărți eficient instrucțiunile tipice ale mașinii. De asemenea, permite domeniul variabil lexical și recursivitatea și are un sistem de tip static, care previne multe operații neintenționate.

Cu toate acestea, în comparație cu C ++, C are numeroase limitări. Deoarece C nu este orientat obiect, nu susține conceptele OOPS. C nu suportă supraîncărcarea funcției și a operatorului. Nu poate folosi funcții în interiorul structurilor. Nu suportă funcțiile virtuale și variabilele de referință sau manipularea excepțiilor. De asemenea, nu suportă variabilele de referință. În plus, C de asemenea nu încapsularea sau securizarea datelor. În comparație, C ++ acceptă toate aceste caracteristici.

În plus, C nu suportă caracteristica NAMESPACE, în timp ce C ++ nu. Un spațiu de nume este o regiune definitivă care permite identificarea grupurilor (numele tipurilor, funcțiilor, variabilelor etc.). Spațiul de nume poate fi apoi folosit pentru a organiza codul în grupuri logice și pentru a preveni coliziuni de nume. Acest lucru este util în special atunci când baza de cod include mai multe biblioteci, ceea ce face în mod ideal codul predispus la coliziuni de nume.

Cele două limbi diferă de asemenea în modul în care funcționează memoria de adrese, intrarea-ieșire și programarea GUI. De exemplu, C folosește funcțiile calloc (), malloc () și free () pentru alocarea și de-alocarea memoriei, în timp ce C ++ utilizează noi și șterge. C utilizează scanf () și printf () pentru intrare și ieșire, în timp ce C ++ utilizează operatorii cin >> și cout <<. C suportă instrumentul GTK pentru programarea GUI, în timp ce C ++ suportă instrumentele Qt pentru programarea GUI. O altă diferență este că C cere ca unul să declare toate variabilele din partea de sus a programului, în timp ce în C ++, variabilele pot fi declarate oriunde în program.

În plus, C ++ este de obicei considerat mai ușor de învățat, deoarece este mai ușor de utilizat decât C. C ++ are, de asemenea, numeroase funcții suplimentare care fac mai ușor codarea, mai ales pentru cineva care este nou în cadrul C. Cu toate acestea, mulți susțin că nu contează. Cele două limbi diferă atât de mult încât pot fi de fapt două limbi diferite independente una de cealaltă. Un lucru de retinut este ca C este mult mai structurat decat C ++, in timp ce C ++ a fost conceput sa fie mai expresiv si abstract decat C.

Comparație între C și C ++:

C

C ++

Fondat

Dezvoltat de Dennis Ritchie la AT & T Bell Labs între 1969 și 1973.

Dezvoltat de Bjarne Stroustrup la Bell Labs începând din 1979.

Cod sursa

Cod sursă cu format liber

Dezvoltat inițial din limba de programare C

Limba

Procedură Limba orientată

Sprijină atât paradigme de programare orientate spre procedură, cât și obiect; de aceea se numește adesea un limbaj hibrid.

Abordare

Urmează abordarea de sus în jos.

Urmează abordarea de jos în sus.

Relaţie

C este un subset al C ++. Nu poate rula codul C ++.

C ++ este un superset de C. C ++ poate rula majoritatea codului C in timp ce C nu poate rula codul C ++.

Conduce

Limbă bazată pe funcții

Obiectiv-limbaj

concentra

Se concentrează mai degrabă pe metodă sau pe proces decât pe date.

Se concentrează mai degrabă pe date decât pe metodă sau pe procedură.

Blocuri de construcție

funcţii

Obiecte

Cuvinte cheie

Conține 32 de cuvinte cheie

Conține 52 de cuvinte cheie

Concepte OOPS

Deoarece limbajul "C" este un limbaj orientat spre procedură, acesta nu acceptă concepte OOPS cum ar fi clasa, obiectul, moștenirea, polimorfismul, ascunderea datelor etc.

Ca limbaj orientat obiect, C ++ suporta clasa, obiectul, ascunderea datelor, polimorfismul, moștenirea, abstractizarea, etc.

funcţii

  • Nu suportă supraîncărcarea funcției și a operatorului.
  • Nu pot folosi funcții în interiorul structurilor
  • Nu acceptă funcții virtuale și variabile de referință
  • Nu acceptă tratarea excepțiilor
  • nu suportă variabilele de referință
  • nu are caracteristica spațiului de nume
  • poate apela funcția principală () prin alte funcții
  • Susține funcția și supraîncărcarea operatorului.
  • Poate utiliza funcții în interiorul structurilor
  • Sprijină funcțiile virtuale și variabilele de referință.
  • Sprijină manipularea excepțiilor prin încercarea și blocarea capturilor. Excepțiile sunt folosite pentru erorile "grele" care fac codul incorect.
  • sprijină variabilele de referință
  • folosește caracteristica NAMESPACE care evită coliziuni de nume.
  • nu poate apela funcția principală () prin alte funcții.

Funcțiile de memorie

Utilizează funcțiile calloc (), malloc () și free () pentru alocarea și de-alocarea memoriei.

Utilizează operatorii noi și șterge în același scop.

încapsularea

Nu sustine. Datele și funcțiile sunt entități separate și libere.

Susține încapsularea. Datele și funcțiile sunt încapsulate împreună sub forma unui obiect. Obiectul clasa oferă un model al structurii obiectului.

Informația se ascunde

C nu suportă ascunderea informațiilor. Aici, datele sunt entități libere și pot fi manipulate de codul exterior.

Encapsularea ascunde datele pentru a se asigura că structurile de date și operatorii sunt utilizați conform destinației.

Date

Sprijină tipurile de date încorporate și primitive.

Datele nu sunt securizate din cauza orientării non-obiect

Suportă atât tipurile de date încorporate, cât și definite de utilizator.

Datele sunt securizate (ascunse) în C ++

Nivel

Nivel redus de limbă

Limba de nivel mediu

Intrare ieșire

Limba "C" utilizează scanf () și printf () pentru intrare și ieșire.

Limba "C ++" utilizează operatorii cin >> și cout << pentru intrare și ieșire.

Declarația variabilelor

C necesită declararea tuturor variabilelor din partea de sus a programului.

În C ++, variabilele pot fi declarate oriunde în program înainte de utilizare.

Declarație multiplă

Declarația multiplă a variabilelor globale este permisă.

Declarația multiplă a variabilelor globale nu este permisă.

Cartografierea

Maparea între Date și Funcție este dificilă și complicată.

Maparea între date și funcții poate fi utilizată utilizând "Obiecte"

Programare GUI

C acceptă instrumentul GTK pentru programarea GUI

C ++ acceptă instrumentele Qt pentru programarea GUI

Moştenire

Moștenirea nu este posibilă în C

Moștenirea este posibilă în C ++

File Extension

Are extensia de fișier .c

Are extensia de fișier .cpp

Fișierul antetului implicit

Fișierul antet implicit utilizat în limba C este stdio.h

Fișierul antetului implicit utilizat în C ++ este iosteam.h

Câteva exemple de diferențe între C și C ++:

Exemple

C

C ++

Declarație variabilă

Doar în partea de sus:

int i;

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

Oriunde în program:

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

Alocare de memorie

malloc:

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

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

Nou:

int * x = int noi;

int * x_array = nou int [10];

Eliberarea memoriei

Liber:

gratuit (x);

gratuit (x_array);

Șterge:

ștergeți x;

ștergeți [] x_array;

Recomandat

Articole Similare

  • diferență între: Diferența dintre Nokia Lumia 928 și LG Optimus G

    Diferența dintre Nokia Lumia 928 și LG Optimus G

    Diferența cheie: Nokia a anunțat recent un nou telefon la rândul său; Lumia 928. Telefonul este dotat cu un ecran capacitiv AMOLED de 4, 5 inchi, cu un rama spate larga. Telefonul este destul de voluminos și greu, în comparație cu alte smartphone-uri mai noi, care se concentrează pe obținerea mai subțire și mai ușoare. LG Optimus
  • diferență între: Diferența dintre Intel i3 și i5

    Diferența dintre Intel i3 și i5

    Diferența de bază : Intel Core i3 este un tip de procesor dual-core. procesoarele i5 au 2 până la 4 nuclee. Un procesor dual-core este un tip de unitate centrală de procesare (CPU) care are două nuclee de execuție complete. Un procesor quad-core are patru nuclee. Prin urmare, este de două ori mai eficace decât un procesor dual-core Intel Core i3, cu dual-core fiind conceput pentru a oferi o ofertă entry-level a Intel. I5, pe d
  • diferență între: Diferența dintre iPad Air și iPad Air 2

    Diferența dintre iPad Air și iPad Air 2

    Diferența cheie: iPad Air 2 este ultima tabletă de la Apple și un upgrade pentru dispozitivul iPad Air lansat în 2013. Air a fost cea mai nouă generație de tablete Apple care au înlocuit tabletele iPad 4th generation. IPad Air 2 este ultima tabletă de la Apple și un upgrade pentru iPad Air lansat în 2013. Air a fo
  • diferență între: Diferența dintre anul fiscal și exercițiul financiar

    Diferența dintre anul fiscal și exercițiul financiar

    Diferența principală: Termenii Anul fiscal și Anul financiar sunt sinonimi, adică aceiași lucru. Acestea reprezintă o perioadă pe care guvernele o folosesc în scopuri contabile și bugetare. Cu toate acestea, acestea reprezintă și durata pe care trebuie să se plătească impozitul, care este în mod obișnuit durata de 1 an. Anul fiscal și
  • diferență între: Diferența dintre fișierele program și fișierele program (x86)

    Diferența dintre fișierele program și fișierele program (x86)

    Diferența cheie: Există două tipuri diferite de arhitectură care sunt disponibile pentru computer, o arhitectură pe 32 de biți și o arhitectură pe 64 de biți. Dosarul Program Files conține fișiere care sunt esențiale pentru funcționarea unei aplicații pe 64 de biți, în timp ce Program Files (x86) are fișiere pentru aplicațiile pe 32 de biți. Computerele au de
  • diferență între: Diferența dintre Paradox și Oxymoron

    Diferența dintre Paradox și Oxymoron

    Diferența cheie: Un oximoron este adesea un set de două sau mai multe cuvinte care sunt contradictorii în natură, dar au oarecum sens când sunt puse împreună, mai ales în folosirea limbilor în comun. Un paradox, pe de altă parte, creează o situație confuză care nu poate exista cu adevărat, deoarece nimic nu poate fi atât adevărat, cât și fals în același timp. Termenii Paradox ș
  • diferență între: Diferența dintre Samsung Galaxy S Duos și Micromax A116 Canvas HD

    Diferența dintre Samsung Galaxy S Duos și Micromax A116 Canvas HD

    Diferența cheie: Samsung Galaxy S Duos este un telefon dual SIM care a fost lansat în septembrie 2012. Telefonul vine cu un touchscreen capacitiv TFT de 4 inch, cu o densitate de aproximativ 233 ppi. Dispozitivul vine cu interfața TouchWiz a Samsung pe Android 4.0.4 ICS. Micromax A116 Canvas HD este succesorul Micromax A110 Canvas 2 foarte popular și este mai bun decât predecesorul său în orice mod. Dispu
  • diferență între: Diferența dintre Split AC și Window AC

    Diferența dintre Split AC și Window AC

    Diferența principală: diferența majoră dintre Split AC și Window AC constă în structura și modificarea acestora. Un split AC are două componente principale, un condensator departe de vaporizatorul său care se află în interiorul cuptorului; în timp ce o fereastră simplă este o structură combinată a tuturor componentelor sale într-o singură unitate. Aer condiționat ș
  • diferență între: Diferența dintre US Green Card și cetățenia SUA

    Diferența dintre US Green Card și cetățenia SUA

    Diferența cheie: Cartea verde US și Cetățenia SUA sunt două modalități de a obține drepturi pe termen lung de ședere și de muncă în Statele Unite. Un deținător de carte verde poate locui și lucra în Statele Unite. Cetățenia americană oferă mai multe beneficii în plus față de cele de care beneficiază deținătorii cărții verzi. Acordă dreptul de vot în A

Alegerea Editorului

Diferența dintre Gigabit și Gigabyte

Diferența cheie: Un Gigabit și un Gigabyte , ambele sunt utilizate ca măsură a capacității de stocare. Un gigabit este egal cu 1 milion de biți, în timp ce gigabyte este egal cu 8000 milioane de biți. Mulți cred că Gigabit și Gigabyte sunt sinonime între ele, dar cu adevărat nu sunt. Abrevierea ambelor termeni, Gigabit și Gigabyte este GB, dar pentru gigabit este abreviată ca G sau Gb și pentru gigabyte este abreviată ca GB. Cardul de memori