A C és C ++ közötti különbség példákkal Programozási nyelvek

A legfontosabb különbség: C és C ++ két különböző számítógépes programozási nyelv. A C ++ -ot a C programozási nyelvből fejlesztették ki; ugyanakkor a természetben teljesen eltérőek. A legnyilvánvalóbb különbség az, hogy a C egy eljárásorientált nyelv, míg a C ++ mind az eljárási, mind az objektum-orientált programozást támogatja, ezért gyakran hibrid nyelvnek nevezik.

A C és C ++ két különböző számítógépes programozási nyelv. A C-t eredetileg Dennis Ritchie fejlesztette ki az AT&T Bell Labs-ben 1969 és 1973 között. A C ++ egy másik általános célú programozási nyelv. Az eredeti C programozási nyelvből készült. A Bjarne Stroustrup 1979-től kezdte meg a Bell Labs-ben. A C ++-t eredetileg C osztályúnak nevezték, mivel a C alapja volt. 1983-ban átnevezték C ++-ra.

A C a legrégebben használt programozási nyelvek egyike, és az egyik legelterjedtebb programozási nyelv. Ezt folyamatosan alkalmazták olyan alkalmazásokban, amelyek előzőleg összeszerelési nyelven kódoltak. Ez magában foglalja a UNIX számítógép operációs rendszerét is. A C szintén közvetlenül vagy közvetve befolyásolta a későbbi programozási nyelveket, mint például a C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python és Unix C-héjait. Mindezen új nyelvek ellenére a C továbbra is népszerű programozási nyelv.

A C ++ eredetileg a C kiegészítésként indult. A C és C közötti forráskapcsolatot tervezték. Ugyanakkor osztályokat, virtuális funkciókat, operátor túlterhelést, többszörös öröklést, sablonokat, kivételkezelést, stb. elég ahhoz, hogy önállóan programozási nyelvnek minősüljön. Eredetileg 1998-ban ratifikálták, mint ISO / IEC 14882: 1998 minősített programozási nyelv. Ma a C ++ már általánosan használt a hardvertervezésben.

A C egy általános célú programozási nyelv, amely a pontosvesszőt használja a pontosvesszővel (;), valamint a mondatok blokkolására szolgáló göndör zárójelek ({}). A rendszer strukturált programozási lehetőségekkel rendelkezik, és kialakítása olyan konstrukciókat kínál, amelyek hatékonyan térképezhetik a tipikus gépi utasításokat. Lehetővé teszi a lexikális változó hatókört és rekurziót, és statikus típusú rendszerrel rendelkezik, amely megakadályozza a nem szándékolt műveleteket.

A C ++ -hoz képest azonban a C számos korlátozással rendelkezik. Mivel a C nem objektumorientált, nem támogatja az OOPS fogalmakat. A C nem támogatja a funkciót és a kezelő túlterhelését. Nem tudja használni a struktúrák belső funkcióit. Nem támogatja a virtuális funkciókat és a referencia változókat, vagy a kivételkezelést. Nem támogatja a referencia változókat is. Ezen túlmenően a C nem kapszulázást vagy adatbiztosítást is. Összehasonlításképpen, a C ++ támogatja ezeket a funkciókat.

Továbbá a C nem támogatja a NAMESPACE funkciót, míg a C ++. A névtér olyan végleges régió, amely lehetővé teszi az azonosítók csoportosítását (típusok, funkciók, változók stb. Nevét). A névterek a kódok logikai csoportokba rendezésére és a név ütközések megelőzésére használhatók. Ez különösen akkor hasznos, ha a kódbázis több könyvtárat is tartalmaz, amelyek ideális esetben a kódot hajlamosak az ütközések megnevezésére.

A két nyelv is különbözik attól, hogy a címtár-memória funkciók, a bemeneti kimenet és a GUI programozás milyen módon történik. Például a C calloc (), malloc () és szabad () függvényeket használ fel a memória felosztására és kiosztására, míg a C ++ új és törlést használ. C a scanf () és printf () -t használja bemeneti és kimeneti célokra, míg a C ++ a cin >> és cout << operátorokat használja. C támogatja a GTK eszközt a GUI programozáshoz, míg a C ++ támogatja a Qt eszközöket a GUI programozáshoz. A másik különbség az, hogy a C megköveteli, hogy a program tetején minden változót deklaráljon, míg a C ++-ban a változók a programban bárhol jeleníthetők meg.

Továbbá a C ++-t általában könnyebb megtanulni, mivel a felhasználóbarátabb, mint a C. C ++-nak számos további funkciója is van, amelyek megkönnyítik a kódolást, különösen a C-keretrendszerben új felhasználók számára. Sokan azonban azt állítják, hogy valójában számít. A két nyelv annyira különbözik egymástól, hogy valójában két egymástól független nyelv lehet. Ne feledje, hogy a C sokkal strukturáltabb, mint a C ++, míg a C ++ kifejezettebb és absztraktabb, mint a C.

C és C ++ összehasonlítása:

C

C ++

Alapított

Dennis Ritchie fejlesztette ki az AT&T Bell Labs 1969 és 1973 között.

A Bjarne Stroustrup 1979-től kezdve a Bell Labs-ben fejlesztette ki.

Forráskód

Szabad formátumú program forráskódja

Eredetileg a C programozási nyelvből lett kifejlesztve

Nyelv

Eljárásorientált nyelv

Támogatja mind az eljárási, mind az objektum-orientált programozási paradigmákat; ezért gyakran hibrid nyelvnek nevezik.

Megközelítés

A felülről lefelé irányuló megközelítést követi.

Az alulról felfelé irányuló megközelítést követi.

Kapcsolat

A C a C ++ egy részhalmaza. Nem futtathatja a C ++ kódot.

A C ++ a C. C ++ felülírója, a C-kódot pedig a legtöbb C futtathatja, míg a C nem tudja futtatni a C ++ kódot.

Hajtás

Funkcionális nyelv

Objektum-alapú nyelv

Fókusz

A módszerre vagy folyamatra összpontosít, nem pedig az adatokra.

Elsősorban az adatokra vagy az eljárásra összpontosít.

Építőkockák

Funkciók

tárgyak

Kulcsszavak

32 kulcsszót tartalmaz

52 kulcsszót tartalmaz

OOPS fogalmak

Mivel a „C” nyelv az eljárásorientált nyelv, nem támogatja az OOPS-fogalmakat, mint például az osztály, az objektum, az öröklés, a polimorfizmus, az adatok elrejtése stb.

Objektum-orientált nyelvként a C ++ támogatja az osztályt, az objektumot, az adatok elrejtését, a polimorfizmust, az öröklést, az absztrakciót stb.

Funkciók

  • Nem támogatja a funkciót és a kezelő túlterhelését.
  • A struktúrák belső funkciói nem használhatók
  • Nem támogatja a virtuális funkciókat és a referencia változókat
  • Nem támogatja a kivétel kezelését
  • nem támogatja a referencia változókat
  • nem rendelkezik névtér funkcióval
  • más funkciók segítségével hívhatja a fő () függvényt
  • Támogatja a funkciót és a kezelő túlterhelését.
  • Használhatja a struktúrák belső funkcióit
  • Támogatja a virtuális funkciókat és a referencia változókat.
  • Támogatja a kivételkezelést a próbálkozás és a fogás blokk segítségével. Kivételeket használnak a "kemény" hibákhoz, amelyek hibásak a kódot.
  • támogatja a referencia változókat
  • a NAMESPACE funkciót használja, amely elkerüli a névütközéseket.
  • más funkciók segítségével nem hívhatja a fő () függvényt.

Memória funkciók

Calloc (), malloc () és szabad () függvényeket használ a memória felosztására és felosztására.

Új és új operátorokat használ ugyanarra a célra.

Encapsulation

Nem támogatja. Az adatok és funkciók külön és szabad entitások.

Támogatja a kapszulázást. Az adatok és funkciók egy objektum formájában együtt vannak kapszulázva. Az objektumok osztálya az objektum szerkezetének vázlatát mutatja.

Információk elrejtése

A C nem támogatja az információ elrejtését. Itt az adatok szabad entitások, és külső kóddal manipulálhatók.

A kapszulázás elrejti az adatokat annak biztosítása érdekében, hogy az adatszerkezeteket és az operátorokat a tervezett módon használják.

Adat

Támogatja a beépített és primitív adattípusokat.

Az adatok nem biztosíthatók nem objektum-orientáltak miatt

Támogatja a beépített és a felhasználó által definiált adattípusokat is.

Az adatok a C ++-ban vannak rögzítve (rejtve)

Szint

Alacsony szintű nyelv

Középszintű nyelv

Bemenet kimenet

A „C” nyelv a scanf () -t és a printf () -t használja a bemenet és a kimenet számára.

A „C ++” nyelv a cin >> és cout << operátorokat használja a bemenet és a kimenet számára.

A változók nyilatkozata

A C megköveteli, hogy minden változót a program tetején deklaráljon.

A C ++-ban a változók a programban bárhol megadhatók a használat előtt.

Többszörös nyilatkozat

A globális változók többszörös nyilatkozata megengedett.

A globális változók többszörös nyilatkozata nem megengedett.

térképészet

Az adatok és a funkciók közötti leképezés nehéz és bonyolult.

Az adatok és a függvény közötti leképezés használható az "Objektumok" használatával

GUI programozás

C támogatja a GTK eszközt a GUI programozáshoz

A C ++ támogatja a Qt eszközöket a GUI programozáshoz

Öröklés

Az öröklés C-ben nem lehetséges

Az öröklés C ++-ban lehetséges

Fájlkiterjesztés

Fájlkiterjesztése .c

Fájlkiterjesztés van .cpp

Alapértelmezett fejlécfájl

A C nyelvben használt alapértelmezett fejlécfájl a stdio.h

A C ++ alapértelmezett fejlécfájlja az iosteam.h

Néhány példa a C és C ++ közötti különbségre:

Példák

C

C ++

Változó nyilatkozat

Csak a tetején:

int i;

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

Bárhol a programban:

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

Memóriaelosztás

malloc:

int * x = malloc (mérete (int));

int * x_array = malloc (méret (int) * 10);

Új:

int * x = új int;

int * x_array = új int [10];

Memória felszabadítása

Ingyenes:

szabad (x);

szabad (x_array);

Töröl:

x törlése;

[] x_array törlése;

Ajánlott

Kapcsolódó Cikkek

  • a különbség köztük: Különbség a HTC One X + és a Nexus 4 között

    Különbség a HTC One X + és a Nexus 4 között

    Főbb különbség: A HTC One X + 4, 7 hüvelykes, szuper LCD 2 érintőképernyővel rendelkezik, körülbelül 312 ppi pixeles sűrűséggel, ami azt jelenti, hogy a képernyő elég félelmetes, és nem mutat pixeleket. A készülék 1, 7 GHz-es négymagos NVIDIA Tegra 3 processzorral rendelkezik, ami gyorsabb, mint az eredeti HTC One X. A Nexus 4 a Google neg
  • a különbség köztük: Különbség az Alot, Allot és A Lot között

    Különbség az Alot, Allot és A Lot között

    Főbb különbség: Az angol nyelvben az „alot” szó technikailag nem létezik. A "sok" tévedés. A „sok” kifejezés nagyszámú, nagy mennyiségű vagy nagy mennyiséget jelent. Az „allot” azt jelenti, hogy valamit adunk valakinek, vagy inkább valamit rendelünk valakinek. Az „Alot, Allot és A Lot” kifejezéseket gyakran összekeverik. Azonban az emberek nem veszik ész
  • a különbség köztük: A különbség a C ++ és a Java között

    A különbség a C ++ és a Java között

    Főbb különbség: A C ++ egy általános célú programozási nyelv, amelyet az eredetileg C programozási nyelvből fejlesztettek ki. A Bjarne Stroustrup a Bell Labs-ben fejlesztette ki 1979-től kezdődően. A C ++ eredetileg C osztályú volt. 1983-ban átnevezték C ++-ra. Java egy másik programozási nyelv, amelyet a C nyelv befolyásolt. A szintaxis nagy ré
  • a különbség köztük: A különbség a Snapdeal és az Amazon között

    A különbség a Snapdeal és az Amazon között

    Főbb különbség: A Snapdeal egy indiai székhelyű vállalat, amelyet a Kunal Bahl és a Rohit Bansal vállalkozók alapítottak 2010-ben. Az Amazon.in az anyavállalat, az Amazon.com leányvállalata. Indián működését 2012-ben indította el a Junglee.com elindításával Azok a vásárlások, amelyek órákat igényeltek a vadászatra, a tárgyalásokra és a bevásárlóközpontból a bevásárlóközpontba, most már az e-kereskedelem múltjává váltak. A vásárlás most azt jelenti, hogy kényelmesen
  • a különbség köztük: A fürdő és a zuhany közötti különbség

    A fürdő és a zuhany közötti különbség

    Kulcskülönbség: A fürdő használata azt jelenti, hogy a testet vízzel töltött nagy kádban áztatják, hogy megtisztítsák magukat. A zuhanyozás a vízpermet alatt áll, hogy megtisztítsa magát. A fürdőzés vagy a zuhanyozás miatt használt terminológia megzavarhatja egyes embereket, különösen a világ legtöbb helyéről származó embereket, akiknek nincs luxusuk mindkettőjük. Ennélfogva a kifejezések felcserél
  • a különbség köztük: Az XOLO X1000 és a Samsung Galaxy Grand közötti különbség

    Az XOLO X1000 és a Samsung Galaxy Grand közötti különbség

    Főbb különbség: A XOLO elindította az XOLO X1000-et, egy Intel alapú okostelefonot. Az XOLO x1000 egy egymagos Intel Atom Processzor Z2480-on fut. Feldolgozási sebessége 2 GHz-es, hiper-menetelő képességei, valamint 1 GB-os RAM. A Samsung Galaxy Grand egy középkategóriás okostelefon, amelyet a Samsung Corporation indított. A telefon 5 hü
  • a különbség köztük: A Windows 8 és a Windows 10 közötti különbség

    A Windows 8 és a Windows 10 közötti különbség

    Főbb különbség: A Windows 8 elsősorban a Start menü eltávolításáról és az élő csempe beépítéséről ismert, amit a Windows okostelefonjain mutatnak be. A Windows 10 a Microsoft legfrissebb kísérlete az operációs rendszer egyesítésére - a laptop, a tablet, az asztali számítógépek és az okostelefonok között. A Microsoft a legmegfelelőbb a
  • a különbség köztük: A Drupal és a Joomla közötti különbség

    A Drupal és a Joomla közötti különbség

    Főbb különbség: A Drupal egy szabad és nyílt forráskódú tartalomkezelő keretrendszer (CMF), amely PHP nyelven van írva. A webhelyek, valamint a politikai és kormányzati weboldalak blogolására szolgál. A Joomla ingyenes és nyílt forráskódú tartalomkezelő rendszer (CMS), amely lehetővé teszi a felhasználók számára, hogy weboldalakat és online alkalmazásokat építsenek. Sok felhasználó számára nagyon
  • a különbség köztük: A mikrohullámú sütő és a hagyományos sütő közötti különbség

    A mikrohullámú sütő és a hagyományos sütő közötti különbség

    Kulcs különbség: A mikrohullámú sütő olyan típusú sütő, amely mikrohullámú sütőket használ az étel melegítéséhez. A mikrohullámok egy olyan elektromágneses hullám, amely az elektromágneses spektrumon a rádióhullám és az infravörös sugárzás között helyezkedik el. A hagyományos sütők alapvetően gázok, fa vagy villamos energiát használó kemencék. Ezek olyan sütők, amelyeket gyakran sok o

Szerkesztő Választása

A Rave Party és a Clubbing közötti különbség

A legfontosabb különbség: a Raves vagy a Rave pártok hatalmas szabadtéri pártok, amelyek élő előadásokat foglalnak magukban és erősen kötődnek a kábítószerekhez. Másrészről a klubbajnokság az a fél, amelyet az éjszakai klubokban, lemezekben, diszkókban stb. Tartanak. A rabok és a klubok az Európában pihenő emberek sok éjszakájá váltak. Ezek azonban nem a legújabb tr