- Pored komentara /* i */ u jeziku C++ mogu da se koriste komentari koji poinju sa //. Ovi komentari se zavravaju na kraju reda bez posebnog oznaavanja zavretka. - Spisak slubenih rei, koje su rezervisane rei i kao takve ne mogu da se koriste kao identifikatori u programima, produenje za 30 novih rei. - Ne preporuuje se korienje identifikatora koji poinju sa dva znaka podvueno (__). U standardnoj biblioteci funkcija jezika C++ koriste se takvi identifikatori. - Treba izbegavati i identifikatore koji poinju jednim znakom podvueno (_) jer se takvi identifikatori koriste u standardnoj biblioteci funkcija jezika C.
Proirenja programskog jezika C
- Tip bool spada u grupu celobrojnih tipova, i postoji automatska konverzija izmeu tipa bool i numerikih tipova. Kada se koristi u izrazima, logika vrednost false se pretvara u celobrojnu vrednost nula, a true u jedan. Ako se promenljivoj tipa bool dodeljuje numerika vrednost, vrednost nula se pretvara u false, a bilo koja nenulta vrednost u true. - Znakovne konstante, na primer A, u jeziku C++ su tipa char dok u jeziku C su tipa int. To dovodi do toga da se A i 65 razliito tretiraju, bez obzira to u sluaju korienja ASCII koda imaju istu brojanu vrednost. U jeziku C te dve vrednosti ne mogu da se razlikuju ni pod kojim uslovima
Proirenja programskog jezika C
- U jeziku C++, dodavanjem modifikatora const na poetku naredbi za definisanje podataka dobijaju se prave konstante, pod uslovom da su inicijalizatori konstantni izrazi. Tako uvedeni identifikatori predstavljaju simbolike konstante koje mogu da se koriste i na mestima na kojima se izriito trae konstante. - Deklarativne naredbe u jeziku C++ smatraju se izvrnim naredbama i mogu da se koriste bilo gde u programu gde su naredbe dozvoljene, a ne samo na poetku pojedinih blokova. Doseg uvedenih identifikatora se protee od mesta definisanja do kraja bloka unutar kojeg su definisani. - Identifikatori nabrajanja, struktura i unija u jeziku C++ mogu da se koriste kao identifikatori tipa bez slubenih rei enum, struct, odnosno union, pod uslovom da su jedinstveni u svojim dosezima.
Proirenja programskog jezika C
- Pokazivau na podatke poznatih tipova u jeziku C++ ne moe da se dodeli vrednost generikog pokazivaa (void*). - U jeziku C argumenti su prenoeni funkciji iskljuivo po vrednosti. Da bi neka funkcija mogla da promeni vrednost neke spoljne promenljive, trebalo je preneti pokaziva na tu promenljivu. - U jeziku C++ mogu je i prenos po referenci. Referenca ili upuiva je alternativno ime za neki podatak. Reference mogu da budu formalni argumenti i vrednosti funkcije. - Za potrebe dodele memorije u dinamikoj zoni memorije u vreme izvravanja programa, u jeziku C++ uvedeni su operatori new i delete. Veliina dodeljenog prostora pomou operatora new automatski se odreuje na osnovu veliine podatka (kod funkcija iz C jezika malloc, calloc i realloc, veliina mora da se navede, obino primenom operatora sizeof).
Proirenja programskog jezika C
- Za vrlo male funkcije, pozivanje funkcije i povratak iz funkcije moe da traje znatno due od izvravanja samog sadraja funkcije. Za takve funkcije je efikasnije da se telo funkcije ugradi neposredno u kod na svakom mestu pozivanja. To, pored utede u vremenu, esto znai i manji utroak memorije. Treba dodati modifikator inline na poetku definisanja funkcije. U jeziku C nije bilo mogue definisati dve funkcije sa istim imenom. Mehanizam preklapanja imena funkcija (eng. function overloading) u jeziku C++ omoguava da se srodnim funkcijama daju ista imena. Pod preklapanjem imena funkcija podrazumeva se definisanje vie funkcija sa istim modifikatorima. Sve te funkcije mora da se meusobno razlikuju po broju i/ili tipovima argumenata na nain koji obezbeuje njihovu jednoznanu identifikaciju.
Proirenja programskog jezika C
Imenski prostori (namespace) slui za grupisanje globalnih imena u velikim programskim sistemima u vie dosega. Objekat je neko podruje u memoriji podataka tokom izvravanja programa. To moe biti eksplicitno definisana promenljiva (globalna ili lokalna), ili privremeni objekat koji nastaje pri izraunavanju izraza. Objekat je primerak nekog tipa (ugraenog ili klase), ali ne i funkcije. C++ je strogo tipizirani jezik, odnosno svaki objekat ima tano odreeni tip. Kada se oekuje objekat jednog tipa, a koristi objekat drugog tipa, potrebno je izvriti konverziju tipova.
Proirenja programskog jezika C
Izlaz na monitor je tok podataka (eng. data stream), odnosno niz karaktera. Tok cout (konzolni izlaz "console output" i ita se kao "see-out") predstavlja standardni izlazni tok, koji se automatski prikazuje na korisnikovom monitoru kada se C++ program izvrava. Podaci se mogu poslati na izlazni tok cout koristei operator umetanja (eng. insertion operator), <<, koji se ita kao "poslato je" ili "uzima se". String (niz karaktera) se postavlja unutar znaka navoda. Zavretak linije i skok u novi red se ostvaruje pomou endl (eng. end of line) i odgovara specijalnoj sekvenci '\n'. Poslednja naredba return zavrava izvrenje funkcije main() i alje ceo broj ija je vrednost 0 operativnom sistemu da bi pokazala da se program zavrio normalno.
Proirenja programskog jezika C
Heder fajlovi obino sadre informacije o konstantama, funkcijama, klasama i drugim C++ elementima koji se esto pojavljuju u C++ programima. Heder fajl iostream (input/output stream), je jedan od standardnih skupova sistemskih heder fajlova kojim je svaki od C++ kompajlera snabdeven. Heder fajl iostream sadri informacije o standardnim ulazno/izlaznim tokovima. Treba obratiti panju da se pretprocesorska direktiva #include <iostream> ne zavrava sa ; zato to pretprocesorska direktiva nije naredba.
Proirenja programskog jezika C
Kompajler C++ jezika koristi vie fajlova da bi napravio C++ program koji se moe izvriti. Uz izvorni fajl, koji je program koji pie programer, kompajler koristi jedan ili vie heder fajlova, kao to je iostream i biblioteke standardnih i korisniki definisanih funkcija za kreiranje izvrnog programa. Kako je mogue da vie programera uestvuju u pisanju koda, mogue je da koriste ista imena za potpuno razliite stvari. Ovo dovodi do kompajlerske greke. Da bi se to izbeglo, C++ obezbeuje mehanizam prostora imena namespace, koji deli imena koje programeri mogu da koriste na dosege imena.
Proirenja programskog jezika C
Direktiva using namespace std; dozvoljava da koristimo u naim programima cout (i kasnije cin) bez potrebe da piemo kod kao std::cout (i std::cin). Direktiva using u osnovi kae da moemo direktno da koristimo sva imena unutar std prostora imena (cout i cin su dva takva imena). Sva standardom predviena zaglavlja sve globalne identifikatore stavljaju u imenski prostor std. Standardom je predviena mogunost da uskladitavanje standardnih zaglavlja ne bude (mada moe) u vidu tekstualnih datoteka. Zbog toga imena standardnih zaglavlja ne sadre proirenja imena .h, to je uobiajeno u jeziku C.