Forskel mellem C og C ++ med eksempler | Programmeringssprog

Hovedforskel: C og C ++ er to forskellige programmeringssprog. C ++ blev udviklet fra C programmeringssprog; men de er ganske forskellige i naturen. Den mest oplagte forskel er, at C er et procedureorienteret sprog, mens C ++ understøtter både proceduremæssig og objektorienteret programmering, derfor kaldes det ofte et hybrid sprog.

C og C ++ er to forskellige programmeringssprog. C blev oprindeligt udviklet af Dennis Ritchie hos AT & T Bell Labs mellem 1969 og 1973. C ++ er et andet generel programmeringssprog. Det blev udviklet fra det oprindelige C programmeringssprog. Det blev udviklet af Bjarne Stroustrup på Bell Labs startende i 1979. C ++ blev oprindeligt benævnt C med Classes, som det var baseret på C. Det blev omdøbt til C ++ i 1983.

C er et af de ældste programmeringssprog, der anvendes i øjeblikket og er et af de mest anvendte programmeringssprog. Det har været konstant anvendt i applikationer, der tidligere havde kodet i samlingssprog. Dette omfatter UNIX computerens operativsystem. C har også direkte eller indirekte påvirket mange af de senere programmeringssprog, såsom C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python og Unix C-shell. På trods af alle disse nye sprog er C stadig et populært programmeringssprog.

C ++ startede oprindeligt som et ekstraudstyr til C. Det var designet til at være kilde-og-link kompatibelt med C. Det tilføjede dog klasser, virtuelle funktioner, overbelastning af operatør, multipel arv, skabeloner, undtagelseshåndtering osv. Endelig udviklede den nok til at blive betragtet som et programmeringssprog i sig selv. Det blev oprindeligt ratificeret i 1998 som ISO / IEC 14882: 1998 certificeret programmeringssprog. I dag er C ++ nu almindeligt anvendt til hardware design.

C er et generel programmeringssprog, der bruger semikolon (;) som udsagnsterminator, såvel som krøllede braces ({}) til gruppering af blokker af udsagn. Det har faciliteter til struktureret programmering og dets design giver konstruktioner, der kan kortlægge effektivt til typiske maskininstruktioner. Det tillader også leksikalsk variabel rækkevidde og rekursion og har et statisk type system, der forhindrer mange utilsigtede operationer.

Men i forhold til C ++ har C mange begrænsninger. Da C ikke er objektorienteret, understøtter den ikke OOPS-koncepter. C understøtter ikke funktion og operatør overbelastning. Det kan ikke bruge funktioner inden for strukturer. Den understøtter ikke virtuelle funktioner og referencevariabler eller undtagelseshåndtering. Det understøtter heller ikke referencevariabler. Desuden er C heller ikke indkapsling eller datasikring. Til sammenligning understøtter C ++ alle disse funktioner.

Desuden understøtter C ikke NAMESPACE-funktionen, mens C ++ gør det. Et navneområde er en definitiv region, der tillader en til at gruppere identifikatorer (navnene på typer, funktioner, variabler osv.). Navnerum kan derefter bruges til at organisere kode i logiske grupper og for at forhindre navnekollisioner. Dette er især nyttigt, når kodebasen indeholder flere biblioteker, hvilket ideelt set gør koden tilbøjelig til at kalde kollisioner.

De to sprog er også forskellige på den måde, adresseminnet fungerer, input-output og GUI programmering. C bruger f.eks. Calloc (), malloc () og gratis () funktioner til allokering og afallokering af hukommelse, mens C ++ udnytter nyt og sletter. C bruger scanf () og printf () til input og output, mens C ++ bruger cin >> og cout << operatører. C understøtter GTK værktøj til GUI programmering, mens C ++ understøtter Qt værktøjer til GUI programmering. En anden forskel er, at C kræver en at erklære alle variablerne øverst i programmet, mens i C ++ kan variablerne erklæres hvor som helst i programmet.

Desuden anses C ++ normalt for at være lettere at lære, da det er mere brugervenligt end C. C ++ har også mange flere funktioner, der letter kodningen, især for nogen der er ny på C-rammen. Men mange hævder, at det faktisk betyder noget. De to sprog adskiller sig så meget, at de faktisk kan være to forskellige sprog uafhængige af hinanden. En ting at huske på er, at C er meget mere struktureret end C ++, mens C ++ er designet til at være mere ekspressiv og abstrakt end C.

Sammenligning mellem C og C ++:

C

C ++

Grundlagt

Udviklet af Dennis Ritchie hos AT & T Bell Labs mellem 1969 og 1973.

Udviklet af Bjarne Stroustrup på Bell Labs startende i 1979.

Kildekode

Free-format program kildekode

Oprindeligt udviklet fra C programmeringssprog

Sprog

Procedure Orienteret sprog

Understøtter både proceduremæssige og objektorienterede programmeringsparadigmer; derfor kaldes det ofte et hybrid sprog.

Nærme sig

Følger top-down tilgang.

Følger bottom up tilgang.

forholdet

C er en delmængde af C ++. Det kan ikke køre C ++ kode.

C ++ er et supersæt af C. C ++ kan køre det meste af C-kode, mens C ikke kan køre C ++-kode.

Køre

Funktionsdrevet sprog

Objektdrevet sprog

Fokus

Fokuserer på metode eller proces i stedet for data.

Fokuserer på data i stedet for metode eller procedure.

Byggesten

Funktioner

objekter

nøgleord

Indeholder 32 søgeord

Indeholder 52 nøgleord

OOPS Concepts

Som "C" -sprog er procedurorienteret sprog, understøtter det ikke OOPS-koncepter som klasse, objekt, arv, polymorfisme, data gemmer osv.

Som et objektorienteret sprog understøtter C ++ klasse, objekt, data gemmer, polymorfisme, arv, abstraktion mv.

Funktioner

  • Understøtter ikke funktion og operatør overbelastning.
  • Kan ikke bruge funktioner indenfor strukturer
  • Understøtter ikke virtuelle funktioner og referencevariabler
  • Støtter ikke undtagelseshåndtering
  • understøtter ikke referencevariabler
  • har ikke navneområdefunktion
  • kan ringe hovedfunktionen () via andre funktioner
  • Understøtter funktion og operatør overbelastning.
  • Kan bruge funktioner indenfor strukturer
  • Understøtter virtuelle funktioner og referencevariabler.
  • Understøtter undtagelseshåndtering ved hjælp af prøve og fangstblok. Undtagelser bruges til "hårde" fejl, der gør koden forkert.
  • understøtter referencevariabler
  • bruger NAMESPACE-funktionen, der undgår navnekollisioner.
  • kan ikke ringe til hovedfunktionen () Funktion gennem andre funktioner.

Hukommelsesfunktioner

Bruger calloc (), malloc () og gratis () funktioner til allokering og afdeling af hukommelse.

Bruger operatører ny og slettes til samme formål.

Indkapsling

Støtter ikke. Data og funktioner er separate og frie enheder.

Understøtter indkapsling. Data og funktioner er indkapslet sammen i form af en genstand. Objektklasse giver en tegning af objektets struktur.

Information skjuler

C understøtter ikke oplysninger, der gemmer sig. Her er data gratis enheder og kan manipuleres af udenfor kode.

Indkapsling skjuler dataene for at sikre, at datastrukturer og operatører anvendes som beregnet.

Data

Understøtter indbyggede og primitive datatyper.

Data er ikke sikret på grund af ikke-objektorienteret

Understøtter både indbygget og brugerdefineret datatyper.

Data er sikret (skjult) i C ++

Niveau

Lavt sprog

Mellemniveau sprog

Input-output

'C' sprog bruger scanf () og printf () til input og output.

'C ++' sprog bruger cin >> og cout << operatører til input og output.

Erklæring om variabler

C kræver en at erklære alle variablerne øverst i programmet.

I C ++ kan variablerne erklæres hvor som helst i programmet før brug.

Flere erklæringer

Flere erklæringer af globale variabler er tilladt.

Flere erklæringer af globale variabler er ikke tilladt.

Kortlægning

Kortlægning mellem data og funktion er vanskelig og kompliceret.

Kortlægning mellem data og funktion kan bruges ved hjælp af "objekter"

GUI programmering

C understøtter GTK værktøj til GUI programmering

C ++ understøtter Qt-værktøjer til GUI programmering

Arv

Arv er ikke mulig i C

Arv er mulig i C ++

Filforlængelse

Har filtypenavn .c

Har filtypenavn .cpp

Standard header-fil

Standard header filen, der anvendes i C sprog er stdio.h

Standard header-filen, der bruges i C ++, er iosteam.h

Nogle eksempler på forskel mellem C og C ++:

eksempler

C

C ++

Variabel angivelse

Kun øverst:

int jeg;

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

Overalt i programmet:

for (inti = 10; i <10; i ++)

Hukommelsesallokering

malloc:

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

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

Ny:

int * x = new int;

int * x_array = new int [10];

Udgivelse af hukommelse

Ledig:

fri (x);

fri (x_array);

Slet:

slet x;

slet [] x_array;

Anbefalet

Relaterede Artikler

  • forskel mellem: Forskel mellem hårtørrer og straightening jern

    Forskel mellem hårtørrer og straightening jern

    Nøgleforskel: Hårtørrere eller slagtørrere er elektromekaniske anordninger, der giver varm eller kølig luft til at tørre hår hurtigt efter et brusebad. Hårtørreren er designet til at give luften afsted for at fremskynde fordampningen af ​​vand fra håret. Straightening Iron er en type hårjern, der bruges til at rette håret. Disse er også
  • forskel mellem: Forskel mellem Aloe og Aloe Vera

    Forskel mellem Aloe og Aloe Vera

    Nøgleforskel: Aloe er en planteplante i Plantae Kingdom, der har over 400 arter af blomstrende saftige planter. Aloe Vera er en af ​​de mest almindelige arter af Aloe-planten, som antages at stamme fra Nordafrika. Aloe og Aloe Vera høres mest i planter; Aloe Vera er en populær plante på grund af sin medicinske anvendelse. Når fo
  • forskel mellem: Forskel mellem Notesblok og Wordpad

    Forskel mellem Notesblok og Wordpad

    Nøgleforskel: Notesblok er en af ​​de enkleste tekstredaktører til rådighed. Det er kun i stand til den mest minimale formatering, såsom forskellige skrifttyper og størrelser. WordPad ligner Notesblok, men giver dig flere formateringsmuligheder. Det betragtes som en letvægts og vandet version af Microsoft Word. Notepad
  • forskel mellem: Forskel mellem Cotton Jeans og Denim Jeans

    Forskel mellem Cotton Jeans og Denim Jeans

    Hovedforskel: Jeans er bukser, der er lavet af denim eller dungaree klud materiale. Jeans blev gjort populær af de blå denimbukser opfundet Levi Strauss i 1873. Denim er et robust bomuldspindeltekstil, hvilket betyder, at det er fremstillet af bomuldsfibre, der er vævet på en bestemt måde. I dag, hovedsagelig på grund af populariteten af ​​jeans, produceres mange jeans gennem en bomuldspolyesterblanding. Traditio
  • forskel mellem: Forskel mellem Planet og Minor Planet

    Forskel mellem Planet og Minor Planet

    Hovedforskel: En "planet" er en himmellegeme, som: (a) er i kredsløb omkring solen, (b) har tilstrækkelig masse til selvtyngde for at overvinde stive kroppskræfter, så det antager en hydrostatisk ligevægt (næsten rund) form, og (c) har ryddet kvarteret rundt om sin bane. En mindre planet, derimod, er ethvert objekt, der kredser solen, men kan ikke klassificeres som en dominerende planet eller en komet. Derf
  • forskel mellem: Forskel mellem MPEG og MPEG4

    Forskel mellem MPEG og MPEG4

    Hovedforskel: MPEG står for gruppen Moving Picture Experts. MPEG4 blev udgivet i 1999 og blev udviklet som en kodningsmetode til enheder med begrænsede ressourcer, primært bærbare enheder som medieafspillere og mobiltelefoner. Dette format er også ofte for online video- og lydfiler, primært streaming media, såvel som til cd-distribution, telefon, videofon og tv-programmer. MPEG
  • forskel mellem: Forskel mellem HTC One X + og Sony Xperia Z

    Forskel mellem HTC One X + og Sony Xperia Z

    Nøgleforskel: HTC One X + har en 4, 7-tommers super LCD 2-berøringsskærm med cirka 312 ppi pixeldensitet, hvilket betyder, at skærmen er temmelig fantastisk, og den viser ikke nogen pixels. Enheden drives af 1, 7 GHz Quad-core NVIDIA Tegra 3-proces, der gør det hurtigere end den originale HTC One X. Son
  • forskel mellem: Forskel mellem H1 Visa, H1B og L1 Visa

    Forskel mellem H1 Visa, H1B og L1 Visa

    Nøgleforskel: H1 visum er et specielt visum, der giver amerikanske arbejdsgivere mulighed for at ansætte udenlandske medarbejdere til at arbejde for dem. H-1B visum er en type H1 visum, der tilbyder alle de samme fordele som H1 visummet, men denne type visum er specifikt til fagfolk med bachelor eller højere grad eller tilsvarende eller certificerede specialister. L
  • forskel mellem: Forskel mellem Asus PadFone Infinity og Galaxy Note II

    Forskel mellem Asus PadFone Infinity og Galaxy Note II

    Hovedforskel: Asus Padfone Infinity smartphone er en slick 5-tommer fuld HD 1920x1080, Super IPS + med kapacitiv multi touch panel og giver ca. 441 ppi densitet. Enheden er en bar telefon, med buede hjørner, der giver et lignende udseende til 'iPhone' og 'HTC One'. Asus Padfone Infinity Dock er i grunden den 10-tommers tablet shell, der giver brugerne mulighed for at docke deres telefon i tavlen ved at skubbe den ind i en slick slot på bagsiden.

Redaktørens Valg

Forskel mellem Software Engineering og Computer Engineering

Nøgleforskel: Software Engineering er området for at studere, udarbejde og opbygge en praktisk løsning på et problem. Målet med en software ingeniør er at forstå et problem inden for en computer og skabe software, der letter problemet. Computer Engineering, også kendt som Computer Systems Engineering, er et kursus, som kombinerer Elektroteknologi og Computer Science, der er nødvendig for at udvikle et edb-system. Softwar