C: n ja C ++: n välinen ero esimerkkien kanssa Ohjelmointikielet

Tärkein ero: C ja C ++ ovat kaksi eri tietokoneohjelmointikieliä. C ++ kehitettiin C-ohjelmointikielestä; ne ovat kuitenkin luonteeltaan aivan erilaisia. Ilmeisin ero on se, että C on menettelyyn suuntautunut kieli, kun taas C ++ tukee sekä prosessi- että objekti-suuntautunutta ohjelmointia, joten sitä kutsutaan usein hybridikieleksi.

C ja C ++ ovat kaksi eri tietokoneohjelmointikieliä. C on alun perin kehittänyt Dennis Ritchie AT&T Bell Labsissa vuosina 1969 ja 1973. C ++ on toinen yleiskäyttöinen ohjelmointikieli. Se on kehitetty alkuperäisestä C-ohjelmointikielestä. Sen on kehittänyt Bjarne Stroustrup Bell Labsissa vuodesta 1979 alkaen. C ++ oli alun perin nimeltään C luokkiin, koska se oli perustunut C: hen.

C on yksi vanhimmista käytössä olevista ohjelmointikielistä ja on yksi yleisimmin käytetyistä ohjelmointikielistä. Sitä on käytetty jatkuvasti sovelluksissa, jotka oli aiemmin koodattu kokoonpanokielellä. Tämä sisältää UNIX-tietokoneiden käyttöjärjestelmän. C on vaikuttanut myös suoraan tai epäsuorasti moniin myöhempiin ohjelmointikieliin, kuten C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python ja Unixin C-kuori. Kaikista näistä uusista kielistä huolimatta C on edelleen suosittu ohjelmointikieli.

C ++ aloitti alun perin lisälaitteena C. Se oli suunniteltu lähteen ja linkin yhteensopivaksi C: n kanssa. tarpeeksi, jotta sitä voidaan pitää ohjelmointikielenä. Se on alun perin ratifioitu vuonna 1998 ISO / IEC 14882: 1998 -sertifioiduksi ohjelmointikieleksi. Nykyään C ++: ta käytetään yleisesti laitteistosuunnitteluun.

C on yleiskäyttöinen ohjelmointikieli, joka käyttää puolipistettä (;) lausekkeen terminaattorina, sekä kierteiset olkaimet ({}) lausekkeiden lohkojen ryhmittelyyn. Siinä on valmiudet ohjelmoitua ohjelmointia varten, ja sen suunnittelussa on rakenteita, jotka voivat kartoittaa tehokkaasti tyypillisiä koneen ohjeita. Se sallii myös leksikaalisen vaihtelevan laajuuden ja rekur- sion ja sillä on staattinen tyyppinen järjestelmä, joka estää monta tahatonta toimintaa.

C: hen verrattuna C: llä on kuitenkin lukuisia rajoituksia. Koska C ei ole objektorientoitu, se ei tue OOPS-käsitteitä. C ei tue toiminnan ja käyttäjän ylikuormitusta. Se ei voi käyttää rakenteiden sisäisiä toimintoja. Se ei tue virtuaalisia toimintoja ja referenssimuuttujia tai poikkeuksen käsittelyä. Se ei myöskään tue viitemuuttujia. Lisäksi C ei myöskään pääse kapseloimaan tai datan varmistamiseen. C ++ tukee kaikkia näitä ominaisuuksia.

Lisäksi C ei tue NAMESPACE-ominaisuutta, kun taas C ++ ei. Nimitila on lopullinen alue, joka mahdollistaa tunnisteiden ryhmittelyn (tyyppien, toimintojen, muuttujien jne. Nimet). Nimeä varten voidaan sitten järjestää koodia loogisiin ryhmiin ja estää nimien törmäykset. Tämä on erityisen hyödyllistä, kun koodikanta sisältää useita kirjastoja, jotka ihanteellisesti antavat koodin altis törmäyksille.

Kaksi kieltä vaihtelevat myös osoitemuistitoimintojen, tulosignaalin ja GUI-ohjelmoinnin tapaan. Esimerkiksi C käyttää calloc (), malloc () ja vapaita () funktioita muistin allokoimiseksi ja jakamiseksi, kun taas C ++ käyttää uutta ja poistaa. C käyttää scanf () ja printf () tuloa ja lähtöä varten, kun taas C ++ käyttää cin >> ja cout << operaattoreita. C tukee GTK-työkalua GUI-ohjelmointiin, kun taas C ++ tukee Qt-työkaluja GUI-ohjelmointiin. Toinen ero on se, että C vaatii yhden ilmoittamaan kaikki muuttujat ohjelman yläosassa, kun taas C ++: ssa muuttujat voidaan ilmoittaa missä tahansa ohjelmassa.

Lisäksi C ++: ta pidetään yleensä helpompana oppia, koska se on käyttäjäystävällisempi kuin C. C ++: lla on myös lukuisia muita toimintoja, jotka helpottavat koodausta erityisesti jokaiselle, joka on uusi C-kehykseen. Monet väittävät kuitenkin, että se on todella tärkeää. Nämä kaksi kieltä eroavat niin paljon, että ne voivat itse asiassa olla toisistaan ​​riippumattomia kaksi eri kieltä. Yksi asia on pitää mielessä, että C on paljon enemmän strukturoitua kuin C ++, kun taas C ++ on suunniteltu olemaan enemmän ilmaisevaa ja abstraktempaa kuin C.

C: n ja C ++: n vertailu:

C

C ++

Perustettu

Kehittänyt Dennis Ritchie AT&T Bell Labsissa vuosina 1969 ja 1973.

Kehittänyt Bjarne Stroustrup Bell Labsissa vuodesta 1979 alkaen.

Lähdekoodi

Vapaa muotoinen ohjelmalähde

Alun perin kehitetty C-ohjelmointikielestä

Kieli

Menettelyn suuntainen kieli

Tukee sekä prosessi- että objekti-suuntautuneita ohjelmointiparadigmeja; siksi sitä kutsutaan usein hybridikieleksi.

Lähestyä

Noudattaa ylhäältä alaspäin suuntautuvaa lähestymistapaa.

Noudattaa alhaalta ylöspäin suuntautuvaa lähestymistapaa.

yhteys

C on C ++: n osajoukko. Se ei voi suorittaa C ++ -koodia.

C ++ on C. C ++: n superset, joka voi suorittaa suurimman osan C-koodista, kun taas C ei voi suorittaa C ++ -koodia.

Ajaa

Toiminnallisella kielellä

Objektipohjainen kieli

fokus

Keskittyy menetelmään tai prosessiin tietojen sijasta.

Keskittyy pikemminkin tietoihin kuin menetelmään tai menettelyyn.

Rakennuspalikoita

tehtävät

esineet

Avainsanat

Sisältää 32 avainsanaa

Sisältää 52 avainsanaa

OOPS-käsitteet

Koska C-kieli on menettelyyn suuntautunut kieli, se ei tue OOPS-käsitteitä, kuten luokkaa, kohdetta, perintöä, polymorfiaa, datan piilottamista jne.

Objektikeskeisenä kielenä C ++ tukee luokkaa, kohdetta, datan piilottamista, polymorfiaa, perintöä, abstraktiota jne.

tehtävät

  • Ei tue toimintoa eikä käyttäjän ylikuormitusta.
  • Rakenteiden sisällä olevia toimintoja ei voi käyttää
  • Ei tue virtuaalisia toimintoja ja viitemuuttujia
  • Ei tue poikkeusten käsittelyä
  • ei tue viitemuuttujia
  • ei ole nimiavaruusominaisuutta
  • voi soittaa päätoimintoon muilla toiminnoilla
  • Tukee toimintoa ja käyttäjän ylikuormitusta.
  • Voi käyttää rakenteiden sisäisiä toimintoja
  • Tukee virtuaalitoimintoja ja referenssimuuttujia.
  • Tukee poikkeuksellista käsittelyä kokeiluversiolla. Poikkeuksia käytetään "koviin" virheisiin, jotka tekevät koodin virheelliseksi.
  • tukee referenssimuuttujia
  • käyttää NAMESPACE-ominaisuutta, joka estää nimien törmäykset.
  • ei voi soittaa päätoimintoa muille toiminnoille.

Muistitoiminnot

Käyttää calloc (), malloc () ja free () -toimintoja muistin jakamiseen ja jakamiseen.

Käyttää uusia operaattoreita ja poistaa niitä samaan tarkoitukseen.

kapselointi

Ei tue. Tiedot ja toiminnot ovat erillisiä ja vapaita yksiköitä.

Tukee kapselointia. Tiedot ja toiminnot kapseloidaan yhteen objektin muodossa. Objektien luokka tarjoaa suunnitelman kohteen rakenteesta.

Tiedot piilossa

C ei tue tietojen piilottamista. Tällöin tiedot ovat vapaita kokonaisuuksia, ja niitä voidaan muokata ulkopuolisella koodilla.

Kapselointi piilottaa tiedot varmistaakseen, että tietorakenteita ja operaattoreita käytetään tarkoitetulla tavalla.

data

Tukee sisäänrakennettuja ja primitiivisiä tietotyyppejä.

Tietoja ei ole suojattu ei-objektiivisesti suuntautuneiden

Tukee sekä sisäänrakennettua että käyttäjän määrittelemää tietotyyppiä.

Tiedot on suojattu (piilotettu) C ++: ssa

Taso

Matala taso

Keskitason kieli

Panos-tuotos

C-kieli käyttää scanf () ja printf () tuloa ja lähtöä varten.

"C ++" kieli käyttää cin >> ja cout << operaattoreita tuloa ja lähtöä varten.

Muuttujien ilmoitus

C vaatii yhden ilmoittamaan kaikki muuttujat ohjelman yläosassa.

C ++: ssa muuttujat voidaan ilmoittaa missä tahansa ohjelmassa ennen käyttöä.

Useita ilmoituksia

Useat globaalien muuttujien ilmoitukset ovat sallittuja.

Useat globaalien muuttujien ilmoitukset eivät ole sallittuja.

Kartoitus

Tiedon ja toiminnon välinen kartoitus on vaikeaa ja monimutkaista.

Tiedostojen ja toimintojen välistä kartoitusta voidaan käyttää "Objektien" avulla

GUI-ohjelmointi

C tukee GTK-työkalua GUI-ohjelmointiin

C ++ tukee Qt-työkaluja GUI-ohjelmointiin

perintö

Perintö ei ole mahdollista C: ssä

Perintö on mahdollista C ++: ssa

Tiedostopääte

Onko tiedostotunniste .c

Onko tiedostotunniste .cpp

Oletustiedoston otsikkotiedosto

C-kielessä käytetty oletusotsikon tiedosto on stdio.h

C ++: ssa käytetty oletusotsikkotiedosto on iosteam.h

Esimerkkejä eroista C: n ja C ++: n välillä:

esimerkit

C

C ++

Muuttuva ilmoitus

Vain yläreunassa:

int i;

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

Missä tahansa ohjelmassa:

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

Muistin jakaminen

malloc:

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

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

Uusi:

int * x = uusi int;

int * x_array = uusi int [10];

Muistin vapauttaminen

Vapaa:

vapaa (x);

vapaa (x_array);

Poistaa:

poista x;

poista [] x_array;

Suositeltava

Aiheeseen Liittyviä Artikkeleita

  • ero: HTC One: n ja Samsung Galaxy S3: n välinen ero

    HTC One: n ja Samsung Galaxy S3: n välinen ero

    Tärkein ero: HTC One tarjoaa prosessorin nopeuden 1, 7 GHz verrattuna S3: n 1, 4 GHz: n taajuuteen. Yksi tarjoaa myös 2 Gt: n RAM-muistia verrattuna SGB: n käytettävissä olevaan 1 Gt: iin. HTC One: n näytön uskotaan olevan mahtava, ja siinä on selkeät ja terävät kuvat. HTC One voittaa myös S3: n rungon / kotelon suhteen. S3: n muov
  • ero: Alcatel One Touch Idol Ultran ja Xolo X1000: n välinen ero

    Alcatel One Touch Idol Ultran ja Xolo X1000: n välinen ero

    Keskeinen ero: Alcatel One Touch Idol Ultra -laitteessa on 4, 65 tuuman HD AMOLED-kapasitiivinen kosketusnäyttö, jonka resoluutio on 720 x 1280 pikseliä. Puhelimessa on Dual-core 1, 2 GHz: n prosessori MediaTek MTK 6577: llä ja 1 Gt: n RAM-muistilla. Puhelimen leveys on 6, 45 mm, mikä on johtanut siihen, että yritys on markkinoiden ohuin älypuhelin. XOLO
  • ero: Outletin ja Gallerian välinen ero

    Outletin ja Gallerian välinen ero

    Tärkein ero: galleria on itse asiassa lasisulkeva kävelykatu, joka voisi asentaa myymälöitä, kauppakeskuksen tai jotain sellaista. Outlet-myymälä on pieniä kauppoja, jotka myyvät tavaroita suoraan yhtiölle. Nämä myymälät koostuvat usein vain yhdestä tai kahdesta tavaroista ja edullisesta hinnasta. Termi "m
  • ero: Sony Xperia SP: n ja Blackberry Z10: n välinen ero

    Sony Xperia SP: n ja Blackberry Z10: n välinen ero

    Keskeinen ero: Xperia SP on 4, 6 tuuman TFT-kapasitiivinen kosketusnäyttöpuhelin, joka on koteloitu alumiinirunkoon. Se on alle 10 mm paksu ja painaa noin 155 grammaa. Näyttö tarjoaa HD-todellisuusnäytön ja sitä tukee Mobile BRAVIA Engine 2. SP toimii 2G-, 3G- ja LTE-verkossa (riippuen markkinoiden saatavuudesta ja urheilusta 1, 7 GHz: n Qualcomm Snapdragon Dual Core -prosessorilla. Black
  • ero: Sony Xperia J: n ja Sony Xperia P: n välinen ero

    Sony Xperia J: n ja Sony Xperia P: n välinen ero

    Keskeinen ero: Xperia J julkistettiin lokakuussa 2012 Xperia T: n halvemmaksi vaihtoehdoksi, jonka seurauksena puhelin on samanlainen muotoilu kuin T: llä. 245. Sony Xperia P: ssä on 4 tuuman TFT-kosketusnäyttö, joka mahdollistaa jopa 4-kosketusominaisuudet. Näyttö on naarmuuntumaton ja siinä on särkyvää pinnoitetta. Kosketus
  • ero: Kansainvälisen miesten ja kansainvälisen naisten päivän välinen ero

    Kansainvälisen miesten ja kansainvälisen naisten päivän välinen ero

    Keskeinen ero: Kansainvälinen miesten päivä on päivä, jossa kunnioitetaan ja muistetaan sen yhteiskunnan miehiä, jotka ovat työskennelleet muutoksen aikaansaamiseksi. Kansainvälinen naistenpäivä on päivä, jossa juhlitaan naisia ​​heidän menestyksestään ja kiitetään heitä kärsimään vuosien vaikeuksista ja sukupuolten eriarvoisuudesta. Kansainvälinen naistenp
  • ero: Paikallisen SEO: n ja orgaanisen SEO: n välinen ero

    Paikallisen SEO: n ja orgaanisen SEO: n välinen ero

    Keskeinen ero: Kuten nimestä voi päätellä, Paikallinen SEO on SEO, joka on lokalisoitu. Se on maantieteellisesti sidoksissa ja se kohdistuu paikallisiin alueisiin. Orgaaninen SEO tarkoittaa SEO: tä, joka tapahtuu orgaanisesti eli luonnollisesti. Se tarkoittaa, että maksutapoja ei käytetä lisäämään tai parantamaan sijoitustaan ​​hakukoneissa. Termi orgaanin
  • ero: Rebirthin ja reinkarnaation välinen ero

    Rebirthin ja reinkarnaation välinen ero

    Keskeinen ero: Rebirth ja reinkarnaatio, molemmat viittaavat kuoleman jälkeiseen uudestisyntymiseen. Uudestisyntyminen liittyy buddhalaisuuteen, jossa se kieltää minkä tahansa sielun käsitteen. Uudestisyntymistä kutsutaan olemassaolon prosessin toistuvaksi esiintymiseksi. Toisaalta reinkarnaatio liittyy hindulaisuuteen, jossa se määritellään sielun luonteella, joka on pysyvä ja jonka on tarkoitus uudistaa syntymällä vain uusi elin. Yleensä uud
  • ero: C ++: n ja tavoitteen C välinen ero

    C ++: n ja tavoitteen C välinen ero

    Keskeinen ero: C ++ on yleiskäyttöinen ohjelmointikieli, joka on kehitetty alun perin C-ohjelmointikielestä. Sen kehitti Bjarne Stroustrup Bell Labsissa vuodesta 1979 alkaen. C ++ nimettiin alun perin luokkiin C. Se nimettiin uudelleen C ++: ksi vuonna 1983. Objective-C on yleiskäyttöinen, korkeatasoinen, objektorientoitu ohjelmointikieli. Se

Toimituksen Valinta

Verkkotunnuksen ja verkkosivuston välinen ero

Tärkein ero: Sivusto on kokoelma verkkosivuja, jotka näyttävät sisältöä. Tämä sisältö voi sisältää tekstiä sekä multimedia-sisältöä, kuten kuvia ja videoita. Verkkotunnus on nimi, jossa ihmiset voivat mennä verkkosivustoon. Se toimii kuin osoite, joka osoittaa sivustoon. Internet voi olla suuri ja hämmentävä paikka, jossa jokainen haluaa olla osa sitä, mutta sillä ei ole aavistustakaan siitä, miten se toimii. Monet ihmiset haluavat l