- Povijest
- Dizajn i primjena
- prvo izdanje
- C 2.0
- Standardizirana verzija
- Nedavna ažuriranja
- C ++ Značajke
- Popularni jezik
- Objektno orijentirano
- Proceduralno
- Strukturirano programiranje
- Upravljanje memorijom
- pokazivači
- Sastavljen jezik
- Vrste podataka u C ++
- - Primarno
- int
- Plutati
- čađ
- Dvostruko
- Prazno (null)
- bool
- - Sekundarni
- aranžmani
- pokazivači
- Značajke
- - Korisnik definiran
- strukture
- Unija
- Čemu služi C ++? Prijave
- Prijave
- Operativni sustavi
- prevodioce
- Igre
- Web preglednici
- Internet stvari
- Cloud / Distribuirani sustavi
- Pristup bazama podataka
- Primjeri
- knjižnice
- Prednost
- Ubrzati
- Blizina hardvera
- efikasnost
- Sloboda odabira stilova programiranja
- Sposobnost razbijanja složenih problema
- Sposobnost otkrivanja pogrešaka prije izvršenja
- Nedostaci
- Upotreba pokazivača
- Sigurnosni problemi
- Nema sakupljača smeća
- Odsutnost niti
- Sastavljeni programi
- Može biti složeno
- Reference
C ++ je poboljšana i proširena verzija programskog jezika C, koji je Stroustrup razvio 1979. u sklopu svog doktorskog projekta. Stroustrup je dizajnirao ono što je nazvao "C s klasama", što je kasnije nazvano C ++, jer je vjerovao da postojeći programski jezici imaju ograničenja i nisu najbolji za velike projekte.
Zbog toga je C koristio za razvoj programskog jezika koji je tražio, jer je C bio učinkovit jezik i brz za rad.

Izvor: pixabay.com
C ++ je programski jezik opće namjene koji je profinjen i moćan. Ovaj sastavljeni jezik slobodnog oblika najprikladniji je za programere srednje razine.
Međutim, oni koji žele započeti s programiranjem C ++, otkrit će da mogu brzo naučiti programske koncepte koji će im oduzeti dug put u karijeri.
Kompatibilan je s objektno orijentiranim programiranjem uzimajući sve njegove karakteristike. Ovi koncepti razlikuju jezik C ++ i on se uglavnom koristi za razvoj aplikacija na jednostavan i konceptualiziran način.
Povijest
Dizajn i primjena
C ++ osmislio je i implementirao 1980. godine Bjarne Stroustrup u AT&T Bell Labs, lijepo spajajući koncepte proceduralnog i objektno orijentiranog programiranja.
U jeziku C operator ++ koristi se za povećanje varijable, što rezultira Stroustrupovom idejom da bi C ++ bila sljedeća generacija C jezika.
prvo izdanje
C ++ je prvi put izašao na tržište 1985. godine. Godine 1986. Stroustrup je objavio svoju čuvenu knjigu pod nazivom C ++ Programming Language, koja je postala referentni priručnik za taj jezik.
C 2.0
Najvažnije izdanje C ++ bilo je C 2.0 1989. godine, a dokumentirali su ga Ellis i Stroustrup u C ++ Annotated Reference Manual. Bio je to potpuno objektno orijentiran jezik.
Standardizirana verzija
Prva standardizirana verzija, C ++ 98, objavljena je 1998. Ovaj međunarodni standard za C ++ razvili su Američki nacionalni institut za standarde (ANSI) i Međunarodna organizacija za standardizaciju (ISO).
2003. godine objavljen je sljedeći C ++ 03 standard s namjerom ispravljanja pogrešaka utvrđenih u C ++ 98 i osiguravanja da jezik ima veću prenosivost i dosljednost.
Nedavna ažuriranja
Sljedeće veliko ažuriranje jezika stiglo je u 2011. i nazvalo ga je C ++ 11. Nekoliko je značajki dodano u svrhu poboljšanja njegovih performansi.
Potom je objavljen C ++ 14, gdje su izvršena određena poboljšanja i ispravci programskih pogrešaka C ++ 11. Sljedeća verzija objavljena 2017. bila je C ++ 17, koja ima nekoliko novih značajki i mnogo opsežniju standardnu knjižnicu.
C ++ Značajke
Popularni jezik
C ++ široko koriste programeri, uglavnom u aplikacijama. Sadrži sve važne dijelove, kao osnovni jezik koji pruža sve potrebne razvojne blokove, kao što su varijable, vrste podataka, literali itd.
To je četvrti najpopularniji programski jezik, prema indeksu programske zajednice TIOBE.
Korištenje C ++ čini ga najprikladnijim jezikom, zbog njegovih karakteristika. To je prvi pokretački jezik za sve programere koji su zainteresirani za rad sa programskim jezicima. To je lako naučiti jer je to isključivo konceptualni jezik.
Njegova je sintaksa vrlo jednostavna, što olakšava pisanje, a pogreške se mogu lako kopirati. Prije upotrebe bilo kojeg drugog jezika, programeri su radije prvo naučili C ++, a zatim koristiti druge.
Međutim, većina programera pokušava se držati softvera C ++ zbog velikog broja upotreba i kompatibilnosti s više platformi i softvera.
Objektno orijentirano
Glavna nadogradnja sa C na C ++ je objektno orijentirano programiranje. To znači da je fokus na "objektima" i rukovanju oko tih objekata.
Ona slijedi koncepte polimorfizma, nasljeđivanja, kapsulacije i apstrakcije, olakšavajući razvoj i održavanje.
Proceduralno
C ++ podržava koncept postupaka i podprograma, koji segmentiraju kodove u blokove za višekratnu upotrebu, a koji se mogu "pozvati" za obavljanje pojedinačnih zadataka.
Postupci i podprogrami poznati su kao funkcije u C ++. Funkcija može uzeti nulu ili više parametara, te vratiti nulu ili vrijednost.
Strukturirano programiranje
C ++ kôd je modularan, uz podršku funkcija, klasa i objekata, pri čemu se moduli slobodno uklapaju.
Izjave upravljanja protokom u C ++ slične su onima koje nalazimo u mnogim drugim strukturiranim programskim jezicima. To su if-else za implementaciju logike odlučivanja, i za, dok i do, dok ne provode iteracije ili petlje.
Upravljanje memorijom
C ++ podržava dinamičku raspodjelu memorije. Tako možete dodijeliti dodijeljenu memoriju u bilo kojem trenutku.
pokazivači
Oni su varijable koje pohranjuju adresu druge varijable. Pokazivač pokazuje na memorijsku lokaciju varijable. C ++ podržava pokazivače za pružanje rješenja za mnoge probleme koji zahtijevaju pristup memorijskoj lokaciji.
Sastavljen jezik
Prije nego što se izvrši, program C ++ mora biti preveden u nativne upute ciljnog stroja programom koji se zove prevoditelj. Bez kompilacije nijedan se program C ++ ne može pokrenuti. Kompajler sastavlja program C ++ kako bi se kasnije mogao pokrenuti.
Vrste podataka u C ++
- Primarno
int
Koristi se za pohranu cijelih brojeva. Memorija koju zauzima ovisi o prevoditelju (32 ili 64 bita). Zauzima 4 bajta memorije za rad s 32-bitnim kompajlerom.
Plutati
Koristi se za pohranu ulomaka do 7 decimalnih znamenki. Poznat je kao jednostruki precizni tip s pomičnim zarezom. Zauzima 4 bajta memorije.
čađ
Koristi se za spremanje skupa svih znakova. Može sadržavati slova abecede, brojeve, ali i posebne znakove. Zauzima 1 bajt memorije, najmanja adresabilna jedinica u stroju.
Dvostruko
Koristi se za pohranu ulomaka do 15-16 decimalnih znamenki. Općenito je poznata kao vrsta plutajuće točke s dvostrukom preciznošću.
Prazno (null)
Označava nulu ili nema povratne vrijednosti. Obično se koristi za dodjeljivanje nulte vrijednosti prilikom deklariranja funkcije.
bool
Ova vrsta podataka odnosi se na logičku ili logičku vrijednost. Može poprimiti vrijednost istinite ili lažne.
- Sekundarni
aranžmani
To je skup podataka koji imaju istu vrstu podataka, kojima se pristupa zajedničkim imenom.
pokazivači
Oni su u osnovi varijable koje se koriste za spremanje memorijske adrese druge varijable.
Značajke
To je skupina rečenica koje izvode određeni zadatak. Funkcije su ugrađene ili korisnički definirane knjižnice.
- Korisnik definiran
strukture
To je vrsta podataka u kojoj se zbirci različitih vrsta podataka može napraviti i pristupiti kroz objekt.
Unija
Pruža mogućnost pohrane različitih vrsta podataka na isto mjesto u memoriji.
Čemu služi C ++? Prijave
Prijave
Mnoge aplikacije na Adobe sustavima razvijene su u C ++, kao što su Illustrator, Photoshop, Adobe Premiere i Image Ready.
Operativni sustavi
C ++ koristi se u svim glavnim operativnim sustavima, kao što su Linux, Windows i macOS, jer je programski jezik niske razine.
prevodioce
Većina prevodilaca napisana je na jeziku C ++. Također i prevoditelje koji se koriste za sastavljanje drugih jezika, kao što su C #, Java, itd.
Igre
Služi za uklanjanje složenosti 3D igara, pomaže u optimiziranju resursa. Osim toga, kompatibilan je s opcijom za više igrača u mrežama.
Web preglednici
Omogućuje brzo izvršavanje i predstavljanje grafike, što je kritično za trenutne korisnike koji zahtijevaju sadržaj koji se može brzo pojaviti u web preglednicima. C ++ korišten je za izradu internetskih preglednika Google Chrome i Mozilla Firefox.
Internet stvari
Nekoliko proizvoda Internet of Things, poput pametnih satova, automobila, perilica rublja, usmjerivača i sklopki, koriste C ++ jer im je potreban kôd koji je što je moguće bliži hardveru.
Cloud / Distribuirani sustavi
Koristi se u oblaku u sustavima za pohranu i distribuiranim sustavima, gdje skalabilni datotečni sustavi trebaju usko surađivati s hardverom, a kompatibilnost s različitim strojevima je također presudna.
Pristup bazama podataka
Koristi se za razvoj softvera baza podataka s otvorenim kodom. Vrlo popularan softver za administraciju baza podataka koji se koristi u organizacijama, MySQL, napisan je na C ++ zahvaljujući prednostima koje nudi.
Postoje i druge aplikacije temeljene na pristupu softveru baza podataka, a to su Wikipedia, Yahoo, YouTube, Quora itd.
Primjeri
Ovaj program prima pozitivni cijeli broj od korisnika i pohranjuje ga u varijablu n. Tada se izvršava petlja for, koja provjerava je li uneseni broj savršeno djeljiv s io ili ne.
Petlja for počinje s početnom vrijednošću i jednakom 2, povećavajući vrijednost i sa svakom iteracijom. Ako je broj koji je korisnik unijeo savršeno podijeljen s i, isPrime je postavljen na false i broj neće biti glavni broj.
Međutim, ako broj nije savršeno djeljiv s i sve dok uvjet ispitivanja i <= n / 2 nije istina, to znači da je djeljiv samo sa 1 i istim brojem. Dakle, navedeni broj je primarni broj.

knjižnice
Programeri imaju pristup mnogim ugrađenim funkcijama koje pruža jezik C ++. To štedi vrijeme i ubrzava razvoj. Neke od C ++ datoteka sa zaglavljenim funkcijama su:
- iomanip: sadrži alate za obradu protoka koji formatiraju protoke podataka.
- iostream: sadrži standardne funkcije ulaza i izlaza.
- cstdlib: sadrži funkciju za pretvaranje brojeva u tekst i obrnuto, - cmath: sadrži matematičke knjižnične funkcije, raspoređivanje memorije, slučajne brojeve i razne druge korisne funkcije.
- fstream: sadrži funkcije koje izvode ulaz i izlaz datoteka na disku.
- ctime: sadrži funkciju za rukovanje vremenom i datumom.
- memorija: sadrži klase i funkcije koje C ++ Standard knjižnica koristi za dodjelu memorije.
Prednost
Ubrzati
Kako je C ++ proširena verzija C-a, koji je programski jezik niske razine, to je jedan od najbržih dostupnih jezika. To ga čini korisnim u onim područjima u kojima je potrebna izvedba kritična.
Blizina hardvera
C ++ je jedan od programskih jezika koji je najbliži hardveru. To je vrlo korisno u onim prostorima u kojima softver mora biti u bliskoj vezi s hardverom kako bi učinkovito pružio podršku niske razine.
efikasnost
C ++ ima standardnu biblioteku predložaka koja se široko može koristiti kodiranjem. Ove knjižnice pružaju učinkovite algoritme koji programeru omogućavaju uštedu vremena i truda, koji bi se inače izgubili stvarajući kod.
Sloboda odabira stilova programiranja
C ++ podržava oko sedam različitih stilova kodiranja, što ga čini programskim jezikom s više modela. Na taj način možete odabrati stil koji odgovara određenom slučaju uporabe, a da pritom ne morate koristiti objekte.
Sposobnost razbijanja složenih problema
C ++ može složene probleme intuitivno riješiti stvaranjem objekata. Uz to, C ++ funkcije omogućuju vam da podijelite svoj kod na blokove koda koji su jasni, lako razumljivi i jednostavni za testiranje i modificiranje.
Sposobnost otkrivanja pogrešaka prije izvršenja
C ++ ima statički tip, što znači da prevoditelj ne daje pretpostavke o tome što programer piše. Prednost je u tome što prevoditelj može uhvatiti pogreške i propuste prije izvršenja, što dugoročno može uštedjeti vrijeme.
Nedostaci
Upotreba pokazivača
Pokazivači su relativno težak koncept za razumijevanje i također troše puno memorije. Zlouporaba pokazivača može uzrokovati da sustav visi ili se ponaša nenormalno.
Glavni problem je kada se podaci ističu s dva različita polazišta, što uzrokuje značajan problem, stvara zbunjujuće probleme unutar kodiranja.
Sigurnosni problemi
Iako objektno orijentirano programiranje pruža veliku sigurnost podacima koji se obrađuju, još uvijek postoje određeni sigurnosni problemi zbog dostupnosti prijateljskih funkcija, globalnih varijabli i pokazatelja.
Nema sakupljača smeća
C ++ korisniku omogućuje potpunu kontrolu nad upravljačkom memorijom računala. Nedostaje mu funkcija sakupljača smeća za automatsko filtriranje nepotrebnih podataka, pa stoga ne podržava dinamičku dodjelu memorije.
Odsutnost niti
C ++ ne podržava ugrađene niti. Koncept niti je relativno nov u C ++, jer prvotno nije postojao. Sada C ++ može podržavati lambda funkcije.
Sastavljeni programi
Kao jezik kompiliranja, izvršne datoteke koje je sastavio kompresor iz izvornog koda nisu prenosive i pokretat će se samo na ciljnoj platformi (hardver plus operativni sustav) za koju su sastavljene ili na podržanoj binarnoj platformi.
Može biti složeno
C ++ može biti složen jer omogućuje klase, koje su funkcije s istim nazivom. Stoga se mora koristiti sustav za rukovanje simbolima. Nadalje, složen je za program s vrlo velikim visokim nivoima. C ++ se obično koristi za aplikacije specifične za platformu.
Reference
- Simplilearn (2020). Programiranje C ++ za početnike: povijest, prednosti i aplikacije. Preuzeto sa: simplelearn.com.
- Educba (2020). Upotreba C ++ u stvarnom svijetu. Preuzeto sa: educba.com.
- Dmitrii Rassokhin (2020). Programski jezik C ++ u heminformatici i računalnoj kemiji. Časopis za heminformatiku. Preuzeto sa: jcheminf.biomedcentral.com.
- Edureka! (2020). Koje su prvih 10 značajki C ++? Preuzeto iz: edureka.co.
- Aman Goel (2020). Jezik C ++: Značajke, upotrebe, aplikacije i prednosti. Hack. Preuzeto iz: hackr.io.
- Steemit (2020). C ++: naučite kodirati. Povijest, prednosti, nedostaci jezika C ++. Preuzeto sa: steemit.com.
- Data Flair (2019). Saznajte tipove podataka u C i C ++ s primjerom u samo 4 minute. Preuzeto iz: data-flair.training.
