Forskjellen mellom C og C ++ med eksempler | Programmerings språk

Hovedforskjell: C og C ++ er to forskjellige programmeringssprog. C ++ ble utviklet fra C programmeringsspråket; men de er ganske forskjellige i naturen. Den mest åpenbare forskjellen er at C er et prosessorientert språk, mens C ++ støtter både prosessorisk og objektorientert programmering, derfor kalles det ofte et hybrid språk.

C og C ++ er to forskjellige programmeringssprog. C ble opprinnelig utviklet av Dennis Ritchie på AT & T Bell Labs mellom 1969 og 1973. C ++ er et annet allsidig programmeringsspråk. Den ble utviklet fra det originale C-programmeringsspråket. Det ble utviklet av Bjarne Stroustrup på Bell Labs, startet i 1979. C ++ ble opprinnelig kalt C med klasser, som det hadde vært basert på C. Det ble omdøpt til C ++ i 1983.

C er et av de eldste, for tiden brukte programmeringsspråk, og er et av de mest brukte programmeringsspråkene. Det har blitt stadig brukt i applikasjoner som tidligere hadde kodet i monteringsspråk. Dette inkluderer UNIX-datamaskinens operativsystem. C har også direkte eller indirekte påvirket mange av de senere programmeringsspråkene, for eksempel C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python og Unix C-shell. Til tross for alle disse nye språkene er C fortsatt et populært programmeringsspråk.

C ++ startet opprinnelig som en forbedring til C. Den ble designet for å være kilde og kobling kompatibel med C. Den la imidlertid til klasser, virtuelle funksjoner, overbelastning av operatør, flere arv, maler, unntakshåndtering osv. Til slutt utviklet den nok til å bli betraktet som et programmeringsspråk i sin egen rett. Den ble opprinnelig ratifisert i 1998 som ISO / IEC 14882: 1998 sertifisert programmeringsspråk. I dag er C + + nå vanlig for hardware design.

C er et generell programmeringsspråk som bruker semikolon (;) som en setningsterminator, samt krøllete braces ({}) for gruppering av blokker av setninger. Den har fasiliteter for strukturert programmering og designen gir konstruksjoner som kan kartlegge effektivt til typiske maskininstruksjoner. Det tillater også leksikalsk variabel omfang og rekursjon og har et statisk type system som forhindrer mange utilsiktede operasjoner.

Men i forhold til C ++ har C mange begrensninger. Siden C ikke er objektorientert, støtter den ikke OOPS-konsepter. C støtter ikke funksjon og overbelastning av operatøren. Det kan ikke bruke funksjoner i strukturer. Den støtter ikke virtuelle funksjoner og referansevariabler, eller unntakshåndtering. Den støtter heller ikke referansevariabler. I tillegg gjør C heller ikke innkapsling eller datasikring. Til sammenligning støtter C ++ alle disse funksjonene.

Videre støtter C ikke NAMESPACE-funksjonen, mens C ++ gjør det. Et navneområde er en endelig region som tillater en å gruppere identifikatorer (navnene på typer, funksjoner, variabler, osv.). Navnegrupper kan da brukes til å organisere kode i logiske grupper og for å forhindre navnekollisjoner. Dette er spesielt nyttig når kodebasen inneholder flere biblioteker, noe som ideelt sett gjør koden utsatt for navnekollisjoner.

De to språkene varierer også på samme måte som adresseminnet fungerer, inngangs- og GUI-programmering. For eksempel bruker C calloc (), malloc () og gratis () funksjoner for å tildele og de-allokere minne, mens C ++ bruker nytt og slett. C bruker scanf () og printf () for inngang og utgang, mens C ++ bruker kin >> og cout << -operatører. C støtter GTK verktøy for GUI programmering, mens C ++ støtter Qt verktøy for GUI programmering. En annen forskjell er at C krever en å deklarere alle variablene øverst i programmet, mens i C ++ kan variablene deklareres hvor som helst i programmet.

I tillegg er C ++ vanligvis ansett for å være enklere å lære, da det er mer brukervennlig enn C. C ++ har også en rekke tilleggsfunksjoner som gjør kodingen lettere, spesielt for noen som er ny på C-rammen. Mange hevder imidlertid at det faktisk betyr noe. De to språkene er så forskjellige at de faktisk kan være to forskjellige språk uavhengig av hverandre. En ting å huske på er at C er mye mer strukturert enn C ++, mens C ++ er utformet for å være mer uttrykksfulle og abstrakte enn C.

Sammenligning mellom C og C ++:

C

C ++

stiftet

Utviklet av Dennis Ritchie på AT & T Bell Labs mellom 1969 og 1973.

Utviklet av Bjarne Stroustrup på Bell Labs fra 1979.

Kildekode

Free-format program kildekode

Opprinnelig utviklet fra C programmeringsspråket

Språk

Fremgangsmåte Orientert språk

Støtter både prosessoriske og objektorienterte programmeringsparadigmer; derfor kalles det ofte et hybrid språk.

Nærme seg

Følger topp-ned tilnærming.

Følger bunn opp tilnærming.

Forhold

C er en delmengde av C ++. Det kan ikke kjøre C ++-koden.

C ++ er en supersett av C. C ++ kan kjøre mesteparten av C-koden mens C ikke kan kjøre C ++-koden.

Kjøre

Funksjonsdrevet språk

Objektdrevet språk

Fokus

Fokuserer på metode eller prosess i stedet for data.

Fokuserer på data i stedet for metode eller prosedyre.

Byggeklosser

funksjoner

objekter

nøkkelord

Inneholder 32 nøkkelord

Inneholder 52 nøkkelord

OOPS Konsepter

Som "C" -språket er prosessorientert språk, støtter det ikke OOPS-konsepter som klasse, objekt, arv, polymorfisme, data gjemmer, etc.

Som et objektorientert språk støtter C ++ klasse, objekt, data gjemmer, polymorfisme, arv, abstraksjon, etc.

funksjoner

  • Støtter ikke funksjon og overbelastning av operatøren.
  • Kan ikke bruke funksjoner innebygde strukturer
  • Støtter ikke virtuelle funksjoner og referansevariabler
  • Støtter ikke unntakshåndtering
  • støtter ikke referansevariabler
  • har ikke navneområdefunksjon
  • kan ringe hovedfunksjonen () Funksjon gjennom andre funksjoner
  • Støtter funksjon og overbelastning av operatør.
  • Kan bruke funksjoner innebygde strukturer
  • Støtter virtuelle funksjoner og referansevariabler.
  • Støtter unntakshåndtering ved hjelp av prøve og fange blokk. Unntak brukes for "harde" feil som gjør koden feil.
  • støtter referansevariabler
  • bruker NAMESPACE-funksjonen som unngår navnekollisjoner.
  • kan ikke ringe main () Funksjon gjennom andre funksjoner.

Minnefunksjoner

Bruker calloc (), malloc () og gratis () funksjoner for å tildele og de-allokere minne.

Bruker operatører ny og slett for samme formål.

innkapsling

Støtter ikke. Data og funksjoner er separate og frie enheter.

Støtter innkapsling. Data og funksjoner er innkapslet sammen i form av en gjenstand. Objektklasse gir en tegning av objektets struktur.

Informasjon gjemmer seg

C støtter ikke informasjon gjemmer seg. Her er data gratis enheter og kan manipuleres av utenfor kode.

Innkapsling skjuler dataene for å sikre at datastrukturer og operatører blir brukt som beregnet.

Data

Støtter innebygde og primitive datatyper.

Data er ikke sikret på grunn av ikke-objektorienterte

Støtter både innebygd og bruker definere datatyper.

Data er sikret (skjult) i C ++

Nivå

Lavnivå språk

Språk på mellomnivå

Input-output

'C' språk bruker scanf () og printf () for inngang og utgang.

'C ++' språk bruker kin >> og cout << -operatører for inngang og utgang.

Erklæring om variabler

C krever at man deklarerer alle variablene øverst i programmet.

I C ++ kan variablene deklareres hvor som helst i programmet før bruk.

Flere erklæringer

Flere deklarasjoner av globale variabler er tillatt.

Flere deklarasjoner av globale variabler er ikke tillatt.

Kartlegging

Kartlegging mellom data og funksjon er vanskelig og komplisert.

Kartlegging mellom data og funksjon kan brukes med "objekter"

GUI programmering

C støtter GTK verktøy for GUI programmering

C ++ støtter Qt-verktøy for GUI programmering

Arv

Arv er ikke mulig i C

Arv er mulig i C ++

Filutvidelse

Har filtypenavn .c

Har filtypenavn .cpp

Standard header-fil

Standard headerfilen som brukes i C-språk er stdio.h

Standard topptekstfilen som brukes i C ++ er iosteam.h

Noen eksempler på forskjell mellom C og C ++:

eksempler

C

C ++

Variabeldeklarasjon

Bare på toppen:

int jeg;

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

Overalt i programmet:

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

Minneallokering

malloc:

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

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

Ny:

int * x = ny int;

int * x_array = new int [10];

Frigjør minne

Gratis:

gratis (x);

gratis (x_array);

Slett:

slette x;

slett [] x_array;

Anbefalt

Relaterte Artikler

  • populære sammenligninger: Forskjell mellom SLR og CRR

    Forskjell mellom SLR og CRR

    Hovedforskjell: SLR, kort for, Lovbestemt likviditetsforhold, er forholdet mellom likvide midler til etterspørsel og tidsforpliktelser. CRR, kort for, Cash Reserve Ratio, også kjent som Reserve Requirement, er minimumsforholdet som garanteres av RBI. SLR og CRR er begge bankvilkår. Dette er de finansielle instrumentene i hendene på Reserve Bank of India (RBI), som har myndighet til å kontrollere likviditeten som er tilgjengelig for pengeinstitutter. Sel
  • populære sammenligninger: Forskjell mellom Nokia Lumia 925 og Nokia Lumia 928

    Forskjell mellom Nokia Lumia 925 og Nokia Lumia 928

    Nøkkelen forskjellen: Nokia har nylig annonsert sin nye flaggskip telefon Nokia Lumia 925. Telefonen leveres med en 4, 5-tommers AMOLED kapasitiv berøringsskjerm som tar opp god plass på forsiden, med høyttaler og sensorer på toppen. Den 4, 5-tommers kapasitive skjermen har samme PureMotion HD +, ClearBlack som finnes i Lumia 920. Nok
  • populære sammenligninger: Forskjellen mellom Zigbee og RF

    Forskjellen mellom Zigbee og RF

    Nøkkelforskjell: ZigBee er en RF-standard som er spesialdesignet og utviklet for lav effekt, trådløs overvåking og kontrollapplikasjoner med lav datahastighet, presentert over et stort antall distribuerte noder. RF står for radiofrekvens. Det refererer til en frekvens eller et frekvensbånd som ligger i området fra 10 kilohertz til 300.000 me
  • populære sammenligninger: Forskjellen mellom VIP og VVIP

    Forskjellen mellom VIP og VVIP

    Nøkkelforskjell: VIP står for svært viktig person, mens VVIP står for svært viktig person. VIP-er behandles som viktigere enn en vanlig person. En VVIP er en person som blir behandlet som enda viktigere enn en VIP. Selv om folk hevder at alle er like, eller krever likestilling av alle, er sannheten i saken at ikke alle er like, noen er mer like enn andre. Hva
  • populære sammenligninger: Forskjell mellom hær og marinere

    Forskjell mellom hær og marinere

    Hovedforskjell: Army og Marine Corps er to forskjellige deler av et militær i et land. Army er en landbasert militær gren som er ansvarlig for å håndtere trussel mot land. I mange land er marinene en del av marinen. Men i noen land som for eksempel USA og Storbritannia er marinene en egen avdeling under selvstendig kommando. Ma
  • populære sammenligninger: Forskjellen mellom Brinjal og Aubergine

    Forskjellen mellom Brinjal og Aubergine

    Hovedforskjell: Brinjal og Aubergine er to forskjellige ord som refererer til samme frukt. Aubergine er også kjent som aubergine, brinjal aubergine, melongene og guinea squash. Aubergine / Brinjal er medlem av Solanales rekkefølge og Solanum slekten. Brinjal er et mindre vanlig begrep som høres i land som India, mens aubergine brukes i USA. D
  • populære sammenligninger: Forskjell mellom Samsung Galaxy S4 Mini og Nokia Lumia 928

    Forskjell mellom Samsung Galaxy S4 Mini og Nokia Lumia 928

    Nøkkelforskjell: Samsung har offisielt annonsert småbroren til sitt splitter nye flaggskip: Samsung Galaxy S4 Mini. Telefonen leveres med en 4, 3-tommers qHD Super AMOLED kapasitiv berøringsskjerm som tilbyr ~ 256 ppi pixeldensitet. Vekten på telefonen har også blitt redusert til 107 gram for 3G-modellen og 108 gram for LTE-modellen. Nok
  • populære sammenligninger: Forskjell mellom dusjing og bading

    Forskjell mellom dusjing og bading

    Hovedforskjell: Dusj og bading er både relatert til kroppsrensende aktiviteter. Dusj gjør bruk av en dusjdyse som spruter vann. På den annen side er bading forbundet med bruk av badekar fylt med vann eller en hvilken som helst annen vandig løsning der man nedsetter kroppen og deretter skyller kroppen for å rense den. Fol
  • populære sammenligninger: Forskjell mellom akryl, silkebryte og gel negler

    Forskjell mellom akryl, silkebryte og gel negler

    Nøkkelfaktor: Akryl, Silkebryte og Gel negler er typer kunstige negler som brukes til å legge til mote på fingrene. De er teknikker som brukes av en skjønnhetspleie for å dekorere hendene. Akryl negler er kunstige negler, som er forberedt med den kjemiske sammensetningen av akryl nagelpulver. Akrylspikerpulver består av polyetylmetylmetakrylat (PMMA) , som er en sammensetning av to forskjellige monomerer, etylmetakrylat (EMA) og metylmetakrylat (MMA). Den

Redaksjonens

Forskjellen mellom Hashing og kryptering

Hovedforskjell: Kryptering handler om transformasjon av data for å holde den konfidensiell eller hemmelig fra andre. På den annen side er Hashing basert på integritetsbegrepet. I hashing opprettes en ny melding fra den opprinnelige meldingen på en bestemt måte som den ikke kan reverseres. I motsetning til kryptering krever det ikke en nøkkel for å låse opp meldingen, da det ikke er mulig å få tilbake den opprinnelige meldingen fra den nye meldingen. Krypteri