Starpība starp C un C + + ar piemēriem Programmēšanas valodas

Galvenā atšķirība: C un C ++ ir divas dažādas datorprogrammēšanas valodas. C + + tika izstrādāta no C programmēšanas valodas; tomēr tie ir diezgan atšķirīgi. Acīmredzamākā atšķirība ir tā, ka C ir uz procesu orientēta valoda, bet C + + atbalsta gan procesuālo, gan objektorientēto programmēšanu, tāpēc to bieži sauc par hibrīda valodu.

C un C ++ ir divas dažādas datorprogrammēšanas valodas. C sākotnēji izstrādāja Dennis Ritchie AT&T Bell Labs laikā no 1969. līdz 1973. gadam. C ++ ir vēl viena vispārējas nozīmes programmēšanas valoda. Tā tika izstrādāta no sākotnējās C ​​programmēšanas valodas. To izstrādāja Bjarne Stroustrup pie Bell Labs, sākot ar 1979. gadu. C ++ sākotnēji tika nosaukta par C klasēm, jo ​​tā bija balstīta uz C. Tā 1983. gadā tika pārdēvēta par C ++.

C ir viena no vecākajām pašlaik lietotajām programmēšanas valodām un ir viena no visbiežāk lietotajām programmēšanas valodām. Tas ir pastāvīgi izmantots lietojumprogrammās, kas iepriekš bija kodētas montāžas valodā. Tas ietver UNIX datoru operētājsistēmu. C ir arī tieši vai netieši ietekmējusi daudzas jaunākās programmēšanas valodas, piemēram, C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python un Unix C čaulas. Neskatoties uz visām šīm jaunajām valodām, C joprojām ir populāra programmēšanas valoda.

Sākotnēji C ++ sākās kā C papildinājums. Tā tika izstrādāta kā avota un saiknes savietojamība ar C. Tomēr tā pievienoja klases, virtuālās funkcijas, operatora pārslodzi, vairākus mantojumus, veidnes, izņēmuma apstrādi utt. pietiekami, lai to uzskatītu par programmēšanas valodu. Sākotnēji tas tika ratificēts 1998. gadā kā ISO / IEC 14882: 1998 sertificēta programmēšanas valoda. Šodien C ++ tagad parasti izmanto aparatūras projektēšanai.

C ir vispārējas nozīmes programmēšanas valoda, kas izmanto semikolu (;) kā izraksta terminatoru, kā arī cirtaini bikšturi ({}), lai grupētu paziņojumu blokus. Tajā ir iekārtas strukturētai programmēšanai, un tās dizains nodrošina konstrukcijas, kas var efektīvi attēlot tipiskas mašīnas instrukcijas. Tas arī nodrošina leksisko mainīgo apjomu un rekursiju, un tam ir statiska tipa sistēma, kas novērš daudzas neparedzētas darbības.

Tomēr, salīdzinot ar C + +, C ir daudz ierobežojumu. Tā kā C nav objektorientēts, tas neatbalsta OOPS koncepcijas. C neatbalsta funkciju un operatora pārslodzi. Tā nevar izmantot struktūras iekšējās funkcijas. Tā neatbalsta virtuālās funkcijas un atsauces mainīgos lielumus vai izņēmumu apstrādi. Tā arī neatbalsta atsauces mainīgos lielumus. Turklāt C arī neietver kapsulēšanu vai datu nodrošināšanu. Salīdzinājumam, C ++ atbalsta visas šīs funkcijas.

Turklāt C neatbalsta NAMESPACE funkciju, bet C + +. Vārdu telpa ir galīgs reģions, kas ļauj identificēt identifikatorus (tipu, funkciju, mainīgo utt. Nosaukumus). Nosaukumu vietas pēc tam var izmantot, lai organizētu kodu loģiskajās grupās un novērstu nosaukumu sadursmes. Tas ir īpaši noderīgi, ja koda bāzē ir vairākas bibliotēkas, kas ideāli padara kodu kodīgu, lai nosauktu sadursmes.

Abas valodas atšķiras arī atkarībā no adreses atmiņas funkcijām, ieejas izejas un GUI programmēšanas. Piemēram, C izmanto calloc (), malloc () un bezmaksas () funkcijas, lai piešķirtu un atdalītu atmiņu, bet C ++ izmanto jaunu un dzēš. C izmanto scanf () un printf () ievadei un izvadīšanai, bet C ++ izmanto cin >> un cout << operatorus. C atbalsta GTK rīku GUI programmēšanai, bet C ++ atbalsta Qt rīkus GUI programmēšanai. Vēl viena atšķirība ir tā, ka C pieprasa vienu deklarēt visus mainīgos lielumus programmas augšpusē, bet C + +, mainīgie var tikt deklarēti jebkurā programmas daļā.

Turklāt C + + parasti tiek uzskatīts par vieglāku mācīties, jo tas ir lietotājam draudzīgāks nekā C. C ++ ir arī daudzas papildu funkcijas, kas atvieglo kodēšanu, īpaši tiem, kas ir jauni C sistēmā. Tomēr daudzi apgalvo, ka tas patiesībā ir svarīgi. Abas valodas ir tik atšķirīgas, ka faktiski tās var būt divas dažādas valodas, kas ir neatkarīgas viena no otras. Viena lieta, kas jāpatur prātā, ir tas, ka C ir daudz strukturētāka nekā C + +, bet C + + tika veidota tā, lai tā būtu izteiktāka un abstrakta nekā C.

C un C ++ salīdzinājums:

C

C + +

Dibināta

Izstrādājis Dennis Ritchie AT&T Bell Labs laikā no 1969. līdz 1973. gadam.

Bjarne Stroustrup izstrādājis Bell Labs, sākot no 1979. gada.

Avota kods

Brīvā formāta programmas pirmkods

Sākotnēji izstrādāts no C programmēšanas valodas

Valoda

Procedūra orientēta valoda

Atbalsta gan procesuālās, gan objektu programmēšanas paradigmas; tāpēc to bieži sauc par hibrīda valodu.

Pieeja

Seko augšupejošai pieejai.

Seko augšupējai pieejai.

Attiecības

C ir C + + apakškopa. Tas nevar palaist C ++ kodu.

C + + ir C. C + + pārspīlējums. C ++ var palaist lielāko daļu C koda, bet C nevar palaist C ++ kodu.

Braukt

Funkcija balstīta valoda

Objektu orientēta valoda

Fokuss

Koncentrējas uz metodi vai procesu, nevis uz datiem.

Koncentrējas uz datiem, nevis uz metodi vai procedūru.

Celtniecības klucīši

Funkcijas

Objekti

Atslēgvārdi

Satur 32 atslēgvārdi

Satur 52 atslēgvārdus

OOPS koncepcijas

Tā kā C valoda ir uz valodu orientēta procedūra, tā neatbalsta OOPS koncepcijas, piemēram, klasi, objektu, mantojumu, polimorfismu, datu slēpšanu utt.

Kā objektorientēta valoda, C ++ atbalsta klasi, objektu, datu slēpšanu, polimorfismu, mantojumu, abstrakciju utt.

Funkcijas

  • Neatbalsta funkciju un operatora pārslodzi.
  • Nevar izmantot funkcijas iekšējās struktūrās
  • Neatbalsta virtuālās funkcijas un atsauces mainīgos
  • Neatbalsta izņēmumu apstrādi
  • neatbalsta atsauces mainīgos lielumus
  • nav vārda vietas funkcijas
  • var izsaukt galveno () funkciju, izmantojot citas funkcijas
  • Atbalsta funkciju un operatora pārslodzi.
  • Var izmantot struktūras iekšējās funkcijas
  • Atbalsta virtuālās funkcijas un atsauces mainīgos.
  • Atbalsta izņēmumu apstrādi, izmantojot izmēģinājuma un nozvejas bloku. Izņēmumi tiek izmantoti "cietām" kļūdām, kas padara kodu nepareizu.
  • atbalsta atsauces mainīgos
  • izmanto NAMESPACE funkciju, kas novērš nosaukuma sadursmes.
  • nevar izsaukt galveno () funkciju, izmantojot citas funkcijas.

Atmiņas funkcijas

Atmiņas piešķiršanai un atdalīšanai izmanto calloc (), malloc () un bezmaksas () funkcijas.

Izmanto jaunus operatorus un dzēš tos pašus mērķus.

Iekapsulēšana

Neatbalsta. Dati un funkcijas ir atsevišķas un brīvas vienības.

Atbalsta iekapsulēšanu. Dati un funkcijas ir iekapsulētas objekta veidā. Objektu klase nodrošina objekta struktūras plānu.

Informācija slēpjas

C neatbalsta informācijas slēpšanu. Šeit dati ir brīvi, un tos var manipulēt ar ārējo kodu.

Kapsulēšana slēpj datus, lai nodrošinātu, ka datu struktūras un operatori tiek izmantoti kā paredzēts.

Dati

Atbalsta iebūvētu un primitīvu datu tipus.

Dati netiek nodrošināti objekta orientācijas dēļ

Atbalsta gan iebūvēto, gan lietotāja definēto datu tipu.

Dati tiek nodrošināti (slēpti) C ++

Līmenis

Zema līmeņa valoda

Vidējā līmeņa valoda

Ieejas izejas

“C” valoda izmanto scanf () un printf () ievadei un izvadīšanai.

“C + +” valoda ievada un izvadei izmanto operatorus cin >> un cout <<.

Mainīgo lielumu deklarācija

C nepieciešams, lai deklarētu visus mainīgos lielumus programmas augšpusē.

C + +, mainīgie lielumi var tikt deklarēti jebkurā programmā pirms lietošanas.

Daudzkārtēja deklarācija

Ir atļauta vairāku globālo mainīgo deklarācija.

Vairāki globālo mainīgo paziņojumi nav atļauti.

Kartēšana

Kartēšana starp datiem un funkciju ir sarežģīta un sarežģīta.

Kartēšanu starp datiem un funkciju var izmantot, izmantojot "Objekti"

GUI programmēšana

C atbalsta GTK rīku GUI programmēšanai

C ++ atbalsta Qt rīkus GUI programmēšanai

Mantojums

C mantojums nav iespējams

Mantojums ir iespējams C + +

Faila paplašinājums

Ir faila paplašinājums .c

Ir faila paplašinājums .cpp

Noklusējuma galvenes fails

Noklusējuma galvenes fails, ko izmanto C valodā, ir stdio.h

Noklusējuma galvenes fails, ko izmanto C ++, ir iosteam.h

Daži atšķirības starp C un C ++:

Piemēri

C

C + +

Mainīga deklarācija

Tikai augšpusē:

int i;

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

Programmā jebkur:

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

Atmiņas piešķiršana

Malloc:

int * x = malloc (izmērs (int));

int * x_array = malloc (izmērs (int) * 10);

Jauns:

int * x = jauns int;

int * x_array = jauns int [10];

Atbrīvojot atmiņu

Bezmaksas:

bezmaksas (x);

bezmaksas (x_array);

Dzēst:

izdzēst x;

izdzēst [] x_array;

Ieteicams

Saistītie Raksti

  • atšķirība starp: Atšķirība starp aizkari un aizkari

    Atšķirība starp aizkari un aizkari

    Galvenā atšķirība: drapērijas attiecas uz smago logu apstrādi, kas bieži ir izklāta ar papildu audumu. Aizkari ir logu procedūras, kas ir vieglas un plānas, lai gan tās var būt arī biezas. Tie parasti ir viens auduma gabals un nav pārklāti ar papildu materiāliem. Drapērijas un aizkari ir divi vārdi, kurus var un bieži izmanto savstarpēji aizvietojami. Tomēr vēsturiski t
  • atšķirība starp: Starpība starp Nokia Lumia 920 un Sony Xperia ZL

    Starpība starp Nokia Lumia 920 un Sony Xperia ZL

    Galvenā atšķirība: Viens no pirmajiem viedtālruņiem ir zīmols Nokia Lumia 920. Nokia Lumia 920 bija viens no pirmajiem tālruņiem, kas jāizstrādā, izmantojot Windows Phone 8. Tā tika uzsākta 2012. gada novembrī kā tās vadošais tālrunis. Sony Xperia ZL ir ļoti līdzīgs Sony partnerim Sony Xperia Z. Tomēr dažos aspektos
  • atšķirība starp: Atšķirība starp DDR2 un DDR3 RAM

    Atšķirība starp DDR2 un DDR3 RAM

    Galvenā atšķirība: DDR 2 ir pulksteņa ātrums 200-533MHz, ar pārraides ātrumu līdz 1066MTps un enerģijas patēriņu līdz 1, 8 voltiem. DDR3, protams, bija uzlabojums salīdzinājumā ar DDR2. Tā attēloja pulksteņa ātrumu 400-1, 066MHz, maksimālo pārraides ātrumu 2, 13MTps un enerģijas patēriņu līdz 1, 5 voltiem. Tātad būtībā tas ir ātrāk
  • atšķirība starp: Starpība starp azartspēlēm un derībām

    Starpība starp azartspēlēm un derībām

    Galvenā atšķirība : derības tiek uzskatītas par azartspēļu veidu. Galvenā atšķirība starp abām aktivitātēm ir tāda, ka azartspēlēs “likmes” vai “derības” tiek liktas uz notikumu bez jebkādiem rezultātiem, bet likmju izdarīšanas laikā likmes tiek izvietotas, balstoties uz vismaz ideju vai sniegumu par šo derību notikumu. „Pasaule beigsies 2013. gadā! Vē
  • atšķirība starp: Starpība starp Herpes 1 un Herpes 2

    Starpība starp Herpes 1 un Herpes 2

    Galvenā atšķirība: galvenā atšķirība starp Herpes 1 un Herpes 2 ir vieta, kur vīruss visticamāk notiek uz ķermeņa. Herpes 1 visticamāk parādās virs jostas uz lūpām un mutēm, bet herpes 2 visbiežāk parādīsies dzimumorgānu rajonā. Herpes ir seksuāli transmisīvā slimība (STD), ko izplata HSV-1 (Herpes simplex 1) un HSV-2 (Herpes simplex 2) vīrusi. Tie ir divi vīrusi no herpe
  • atšķirība starp: Starpība starp LOC un LAC

    Starpība starp LOC un LAC

    Galvenā atšķirība: LOC apzīmē kontroles līniju. Tā nosaka robežas, kas atdala Kašmiras daļas, ko kontrolē Indija un Pakistāna. LAC apzīmē faktiskās vadības līniju. Tā ir arī robeža starp Indiju un Ķīnu. LOC ir norobežota robeža, ko apzīmē militāristi. No otras puses, LAK nav norobežota un sastāv no plašas tukšas vietas. LOC vai kontroles līnija apzīm
  • atšķirība starp: Atšķirība starp federālo un nacionālo

    Atšķirība starp federālo un nacionālo

    Galvenā atšķirība: federālo valdību vada dažādas valstis, padarot visu valsts ekonomiku. Valsts valdība tikai atsaucas uz valsts centrālo valdību. Lielākā daļa nezina atšķirību starp federālo un nacionālo, jo abi termini tiek izmantoti, lai atsauktos uz līdzīgām lietām, proti, valsts / federālo valdību, valsts / federālajiem birojiem, nacionālajiem / federālajiem pārstāvjiem utt. Vienkāršs veids, kā atšķirt,
  • atšķirība starp: Atšķirība starp Lenovo IdeaPad Yoga 13 un Dell Latitude 10 Windows planšetdatoru

    Atšķirība starp Lenovo IdeaPad Yoga 13 un Dell Latitude 10 Windows planšetdatoru

    Galvenā atšķirība: unikālais Lenovo IdeaPad Yoga 13 aspekts ir tas, ka tas ir konvertējams klēpjdators ar vairāku režīmu 360 grādu Flip dizainu. Tas ļauj ierīcei uzņemties četrus dizaina režīmus. Tas ietver klēpjdatora režīmu, planšetdatora režīmu, telts režīmu un beidzot stenda režīmu. Lenovo IdeaPad Yoga 13 ir
  • atšķirība starp: Atšķirība starp atšķaidītu un koncentrētu šķīdumu

    Atšķirība starp atšķaidītu un koncentrētu šķīdumu

    Galvenā atšķirība: atšķaidītais šķīdums satur mazāk šķīstošu koncentrētu šķīdumu, kas būtībā nozīmē, ka atšķaidītais šķīdums tajā ir mazāk sajaukts, bet koncentrēts šķīdums tajā ir vairāk sajaukts. Risinājums ir maisījuma veids, kurā ir pievienota viena vai vairākas lietas. Pievienotā lieta ir pazīstama kā šķīdinā

Redaktora Izvēle

Starpība starp paranormālu un parapsiholoģiju

Galvenā atšķirība : Paranormāls ir termins, kas aptver plašu anomāliju klāstu, piemēram, telepātija, ārpus jutekļu uztvere, psiho kineze utt. Paranormāls, kā norāda nosaukums, nozīmē kaut ko tādu, kas ir neparasti un bieži vien skar cilvēkus, kuriem šajā jomā nav zināšanu. Paranormāls aptver plašu tēmu klāstu, piemēram, telepātija, ārpustiesas uztvere, psiho kineze, spokiem, vajāšanām utt. Šie cilvēki ir augsti kvalificēti