Rozdiel medzi C a C ++ s príkladmi Programovacie jazyky

Hlavný rozdiel: C a C ++ sú dva rôzne počítačové programovacie jazyky. C + + bol vyvinutý z programovacieho jazyka C; avšak sú úplne odlišné. Najzrejmejším rozdielom je, že C je procedurálny jazyk, zatiaľ čo C ++ podporuje procedurálne aj objektovo orientované programovanie, preto sa často nazýva hybridný jazyk.

C a C ++ sú dva rôzne počítačové programovacie jazyky. C bol pôvodne vyvinutý Dennis Ritchie v spoločnosti AT & T Bell Labs v rokoch 1969 až 1973. C ++ je ďalší programovací jazyk pre všeobecné použitie. Bol vyvinutý z pôvodného C programovacieho jazyka. Bol vyvinutý Bjarne Stroustrup v Bell Labs od roku 1979. C ++ bol pôvodne pomenovaný C s triedami, pretože bol založený na C. To bolo premenované C + + v roku 1983.

C je jedným z najstarších používaných programovacích jazykov a je jedným z najpoužívanejších programovacích jazykov. Bolo neustále používané v aplikáciách, ktoré boli predtým kódované v assemblerovom jazyku. Zahŕňa operačný systém počítača UNIX. C tiež priamo alebo nepriamo ovplyvnil veľa neskorších programovacích jazykov, ako napríklad C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python a shell C od Unixu. Napriek všetkým týmto jazykom zostáva C stále populárny programovací jazyk.

C ++ sa pôvodne začalo ako vylepšenie pre C. Bolo navrhnuté tak, aby bolo zdrojovo a vertikálne kompatibilné s C, ale pridalo triedy, virtuálne funkcie, preťaženie operátora, viacnásobné dedičstvo, šablóny, spracovanie výnimiek atď. dosť na to, aby sa mohol považovať za programovací jazyk. Bola pôvodne schválená v roku 1998 ako programovací jazyk certifikovaný podľa ISO / IEC 14882: 1998. Dnes je C ++ bežne používaný pre návrh hardvéru.

C je univerzálny programovací jazyk, ktorý používa bodkočiarkou (;) ako koncovku výkazov, ako aj kučeravé zátvorky ({}) pre zoskupovanie blokov výkazov. Má vybavenie pre štruktúrované programovanie a jeho konštrukcia poskytuje konštrukty, ktoré dokážu efektívne mapovať typické strojové inštrukcie. Umožňuje tiež lexikálny premenlivý rozsah a rekurziu a má systém statického typu, ktorý zabraňuje mnohým neúmyselným operáciám.

Avšak v porovnaní s C ++, C má mnoho obmedzení. Keďže objekt C nie je objektovo orientovaný, nepodporuje koncepcie OOPS. C nepodporuje funkciu a preťaženie operátora. Nemôže používať funkcie vo vnútri štruktúr. Nepodporuje virtuálne funkcie a referenčné premenné alebo spracovanie výnimiek. Rovnako nepodporuje referenčné premenné. Okrem toho C taktiež nemá zapuzdrenie alebo zabezpečenie dát. Na porovnanie, C ++ podporuje všetky tieto funkcie.

Okrem toho C nepodporuje funkciu NAMESPACE, zatiaľ čo C ++ to robí. Oblasť názvov je definitívna oblasť, ktorá umožňuje identifikovať skupiny (názvy typov, funkcií, premenných atď.). Oblasti názvov sa potom môžu použiť na usporiadanie kódu do logických skupín a zabránenie kolízii názvov. To je obzvlášť užitočné, keď základňa kódu obsahuje viac knižníc, čo ideálne spôsobuje, že kód je náchylný na zrážky s názvom.

Tieto dva jazyky sa tiež líšia v spôsobe fungovania pamäťovej adresy, vstupného výstupu a programovania GUI. Napríklad C používa funkcie calloc (), malloc () a free () pre alokáciu a de-alokáciu pamäte, zatiaľ čo C ++ využíva nové a odstráni. C používa scanf () a printf () pre vstup a výstup, zatiaľ čo C ++ používa operátory cin >> a cout <<. C podporuje nástroj GTK pre programovanie GUI, zatiaľ čo C ++ podporuje Qt nástroje pre programovanie GUI. Ďalším rozdielom je, že C vyžaduje, aby sa všetky premenné na vrchu programu deklarovali, zatiaľ čo v C ++ sa môžu premenné deklarovať kdekoľvek v programe.

Okrem toho sa C ++ zvyčajne považuje za ľahšie sa učiť, pretože je viac užívateľsky prívetivý ako C. C ++ má tiež mnoho ďalších funkcií, ktoré uľahčujú kódovanie, najmä pre niekoho, kto je nový v rámci C. Mnohí však tvrdia, že skutočne záleží. Tieto dva jazyky sa veľmi líšia, že môžu byť v skutočnosti dva odlišné jazyky nezávislé od seba. Jedna vec, ktorú treba mať na pamäti, je, že C je oveľa štruktúrovanejšie ako C ++, zatiaľ čo C ++ je navrhnutý tak, aby bol výraznejší a abstraktnejší ako C.

Porovnanie medzi C a C ++:

C

C ++

založený

Vyvinutý Dennis Ritchie v spoločnosti AT & T Bell Labs v rokoch 1969 až 1973.

Vyvinutý Bjarne Stroustrup v spoločnosti Bell Labs od roku 1979.

Zdrojový kód

Zdrojový kód voľného formátu programu

Pôvodne vyvinutý z programovacieho jazyka C

Jazyk

Postup Orientovaný jazyk

Podporuje procedurálne aj objektovo orientované programovacie paradigmy; preto sa často nazýva hybridný jazyk.

Prístup

Sleduje prístup zhora nadol.

Sleduje prístup zdola nahor.

súvislosť

C je podmnožina C ++. Nemôže spustiť kód C ++.

C ++ je nadmnožina C. C ++ môže spustiť väčšinu kódu C, zatiaľ čo C nemôže spustiť kód C ++.

pohon

Funkčne ovládaný jazyk

Jazyk orientovaný na objekt

ohnisko

Zameriava sa viac na metódu alebo proces než na údaje.

Zameriava sa skôr na údaje než na metódu alebo postup.

Stavebné bloky

funkcie

objektov

Kľúčové slová

Obsahuje 32 kľúčových slov

Obsahuje 52 kľúčových slov

Koncepty OOPS

Keďže jazyk C je procedurálne orientovaný jazyk, nepodporuje pojmy OOPS, ako je trieda, objekt, dedičnosť, polymorfizmus, skrytie údajov atď.

Ako objektovo orientovaný jazyk C ++ podporuje triedu, objekt, skrytie dát, polymorfizmus, dedičnosť, abstrakciu atď.

funkcie

  • Nepodporuje funkciu a preťaženie operátora.
  • Nie je možné použiť funkcie vo vnútri štruktúr
  • Nepodporuje virtuálne funkcie a referenčné premenné
  • Nepodporuje spracovanie výnimiek
  • nepodporuje referenčné premenné
  • nemá funkciu menného priestoru
  • môže volať funkciu main () prostredníctvom iných funkcií
  • Podporuje funkciu a preťaženie operátora.
  • Môže používať funkcie vo vnútri štruktúr
  • Podporuje virtuálne funkcie a referenčné premenné.
  • Podporuje spracovanie výnimiek pomocou try a catch bloku. Výnimky sa používajú pri "tvrdých" chybách, ktoré spôsobujú nesprávny kód.
  • podporuje referenčné premenné
  • používa funkciu NAMESPACE, ktorá zabraňuje kolízii mien.
  • nemôže volat hlavný () Funkcia prostredníctvom iných funkcií.

Funkcie pamäte

Používa funkcie calloc (), malloc () a free () pre prideľovanie a vyradenie pamäte.

Používa nových operátorov a odstráni ich na rovnaký účel.

zapuzdrenie

Nepodporuje. Údaje a funkcie sú samostatné a slobodné subjekty.

Podporuje zapuzdrenie. Dáta a funkcie sú zapuzdrené spolu vo forme objektu. Trieda objektov poskytuje štruktúru štruktúry objektu.

Informácie sa skrývajú

C nepodporuje skrytie informácií. Tu sú údaje voľné entity a môžu byť manipulované externým kódom.

Zapuzdrenie skrýva dáta, aby sa zabezpečilo, že dátové štruktúry a operátory sa použijú podľa určenia.

údaje

Podporuje vstavané a primitívne dátové typy.

Údaje nie sú zabezpečené kvôli orientácii bez objektov

Podporuje vstavané aj dátové typy definované používateľmi.

Údaje sú zabezpečené (skryté) v jazyku C ++

hladina

Jazyk nízkej úrovne

Jazyk strednej úrovne

Vstup výstup

Jazyk "C" používa scanf () a printf () pre vstup a výstup.

Jazyk "C ++" používa operátory cin >> a cout << pre vstup a výstup.

Vyhlásenie premenných

C vyžaduje, aby sa všetky premenné v hornej časti programu deklarovali.

V jazyku C ++ môžu byť premenné deklarované kdekoľvek v programe pred použitím.

Viacnásobné vyhlásenie

Viac deklarácia globálnych premenných je povolená.

Viacnásobné vyhlásenie globálnych premenných nie je povolené.

mapovanie

Mapovanie medzi údajmi a funkciami je náročné a komplikované.

Mapovanie medzi údajmi a funkciami môže byť použité pomocou "objektov"

Programovanie grafického rozhrania

C podporuje nástroj GTK pre programovanie grafického rozhrania

C ++ podporuje Qt nástroje pre programovanie GUI

dedičstvo

Dedičstvo nie je možné v C

Dedičstvo je možné v C ++

Rozšírenie súboru

Má príponu súboru .c

Má príponu súboru .cpp

Predvolený súbor záhlavia

Predvolený súbor záhlavia používaný v jazyku C je stdio.h

Predvolený súbor hlavičiek používaný v C ++ je iosteam.h

Niektoré príklady rozdielov medzi C a C ++:

Príklady

C

C ++

Prehlásenie o premenných

Iba v hornej časti:

int i;

pre (i = 10, i <10, i ++)

Kdekoľvek v programe:

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

Prideľovanie pamäte

malloc:

int * x = malloc (veľkosť (int));

int * x_array = malloc (veľkosťof (int) * 10);

Nový:

int * x = nový int;

int * x_array = nový int [10];

Uvoľnenie pamäte

Zadarmo:

free (x);

free (x_array);

zmazať:

odstrániť x;

odstrániť [] x_array;

Odporúčaná

Súvisiace Články

  • rozdiel medzi: Rozdiel medzi varením a slnečnicovým olejom

    Rozdiel medzi varením a slnečnicovým olejom

    Hlavný rozdiel: Oleje a ich príslušné druhy sa tradične používajú na účely varenia, ktoré sú osobitne označované ako oleje na varenie. Zatiaľ čo slnečnicový olej získaný zo slnečnicových semien je jedným z týchto olejov na varenie. Oba typy olejov sú známe svojimi rôznymi spôsobmi použitia a aplikácií v niekoľkých odvetviach. Varenie s olejmi je každodennou
  • rozdiel medzi: Rozdiel medzi obscénnosťou, hlúposťou a vulgárnosťou

    Rozdiel medzi obscénnosťou, hlúposťou a vulgárnosťou

    Kľúčový rozdiel: Obscénny obsahuje slová, gestá a obrázky, ktoré sa ukázali niekomu inému za nezákonné. Zrádnosť je zvyčajne považovaná za prekliatie alebo hovoriace zlé veci o Bohu a jeho ľuďoch. Vulgar by zahŕňal niektoré z vyššie uvedených a aj iné kontroverzné témy. Chôdza okolo domu v tme a zrazu počujete haváriu v druhej miestnosti, ktorá vedie k tomu, že vyskočíte dve nohy do vzduchu a farebný nádych (slovo "F") unikne ústa. Ste zlé, obscénne alebo vulgárne? Aký
  • rozdiel medzi: Rozdiel medzi zónou a geológiou

    Rozdiel medzi zónou a geológiou

    Hlavný rozdiel: Zoológia a geológia sú dve úplne odlišné oblasti, ktoré sa zaoberajú biologickými a ekologickými štúdiami. Zoológia je štúdium živočíšnej vedy súvisiacej s biológiou. zatiaľ čo geológia je štúdium pevnej zeme a jej zložiek súvisiacich s ekológiou. Zoológia a geológia sú slávne oblasti, ktoré sa zaoberajú živočíšnymi a zemnými vedami. Ide o rozsiahle štúdie vo svojich prísl
  • rozdiel medzi: Rozdiel medzi tepelným uzáverom a vlasovým parnom

    Rozdiel medzi tepelným uzáverom a vlasovým parnom

    Kľúčový rozdiel: Tepelná krytka alebo parný uzáver sú kapucňou s kapucňou, ktorá užívateľovi umožňuje zachytiť paru alebo zahriať vlasy, keď je mokrá. Parník umožňuje paru otvoriť vlasové kutikuly a pridať vlhkosť vlasom pre hlboké kondicionovanie a jemnejšie vlasy. Vlasy sa považujú za dôležitý aspekt osoby a jej osobnosť. Vlasy veria, že povie veľa vecí o
  • rozdiel medzi: Rozdiel medzi CT skenovaním a ultrazvukom

    Rozdiel medzi CT skenovaním a ultrazvukom

    Rozdiel kľúčov: Ultrazvuk a CT vyšetrenie sú oba typy lekárskych vyšetrení. Sú to diagnostické nástroje, ktoré pomáhajú lekárom pri diagnostike pacienta. Môžu byť použité na vizualizáciu vnútorných systémov bez invazívnej chirurgie. CT skenovanie znamená skenovanie počítačovej tomografie. Jedná sa o procedúru zobraz
  • rozdiel medzi: Rozdiel medzi DHTML a XML

    Rozdiel medzi DHTML a XML

    Hlavný rozdiel: DHTML je v podstate dynamický HTML. Je to nový spôsob hľadania a kontroly štandardných HTML kódov a príkazov. DHTML je kolekcia technológií, ktoré sa používajú na vytváranie interaktívnych a animovaných webových stránok. XML znamená Extensible Markup Language. Je to špecifikácia vyvinutá W3C. Je to značkovací jazyk
  • rozdiel medzi: Rozdiel medzi spoločnosťou Braxton Hicks a pracovnou kontrakciou

    Rozdiel medzi spoločnosťou Braxton Hicks a pracovnou kontrakciou

    Kľúčový rozdiel: Kontrakcie s Braxtonom Hicksom sú intenzívne nepravidelné sporadické kontrakcie maternice, ktoré začínajú skoro v práci. Na druhej strane kontrakcie sú bolesť, ktorá nastane skôr, ako matka vstúpi do pôrodu a dieťa sa rozhodne opustiť telo. Keď sa pripravujete na stretnutie s novým dieťaťom v poslednom trimestri, môžete začať cítiť intenzívne uťahovanie okolo oblasti brucha, nižšej maternice a niekedy aj v oblasti svalov. Avšak v čase, keď sa dostanete do
  • rozdiel medzi: Rozdiel medzi Polievkou, Stew a Shorba

    Rozdiel medzi Polievkou, Stew a Shorba

    Kľúčový rozdiel: Polievka je predovšetkým kvapalná potravina, ktorá sa pripravuje vriacimi prísadami ako mäso, ryby alebo zelenina. Stew je jedlo pripravené pomocou prísad ako zelenina, mäso vriacim alebo vriacim pomaly v tekutine. Shorba sa používa na označenie polievky alebo guláša, ktorá sa nachádza hlavne v kuchyniach na Strednom východe av Strednej Ázii. Aromatická karí kore
  • rozdiel medzi: Rozdiel medzi olejom z ryžových otrúb a olivovým olejom

    Rozdiel medzi olejom z ryžových otrúb a olivovým olejom

    Hlavný rozdiel: Obe ryžové otruby a olivové oleje sa získavajú z ich príslušných prvkov, ktoré sa líšia svojou povahou a vlastnosťami. Zatiaľ čo olej z ryžových otrúb je získaný zo zárodočných a ryžových šupiek ryžového zrna; zatiaľ čo olivový olej sa získava z čerstvého olivového ovocia jeho rastliny. Oleje sú známe ako obľúbené medzi

Redakcia Choice

Rozdiel medzi dórskymi a iónovými

Kľúčový rozdiel: Významným znakom dórskych stĺpcov je fakt, že nemajú základ. Samotný stĺp je krátky, mohutný a ťažký. Hriadeľ stĺpika je skosený, zvyčajne 20 fúzií, zatiaľ čo hlavné mesto je jednoduché a rozvetvené. Iónové stĺpy sa považujú za najvyššie a najtenšie z troch typov stĺpcov. Hlavným rozlišovacím znakom iónového