Lekcija 5 - Knjižnica (Libraries)
1 Knjižnice (Libraries) C++
Knjižnica se može smatrati zbirkom modula i funkcija. Ideja je odvojiti sučelje biblioteke od njegove implementacije: u zaglavlju datoteke deklariraju se identifikatori koji bi trebali biti vidljivi onima koji koriste biblioteku, dok se sve privatno umjesto toga stavlja u drugu datoteku koja uključuje sučelje.
Za što je točno datoteka zaglavlja?
Datoteka zaglavlja je datoteka s ekstenzijom .h i omogućuje svakome tko nije bio uključen u pisanje koda da može pogledati datoteku i identificirati sučelje modula s vanjskim svijetom, to jest, skup deklaracija varijabli i funkcija koje omogućuju korištenje modula bez poznavanja njegove implementacije. Ova vrsta procesa naziva se skrivanje informacija i sastoji se od skrivanja informacija o implementaciji funkcija pružajući samo objektni kod potonjeg, dopuštajući iteraciju s modulom kroz varijablu i deklaracije funkcija u zaglavlju datoteke.
Nakon što se definiraju, datoteke se moraju uključiti u datoteku *.cpp putem direktive #define predprocesoru.
Datoteka zaglavlja uz deklaracije varijabli i funkcija može sadržavati:
• deklaracije varijabli i funkcija izvan modula (deklaracije extern
• upute za uključivanje iz drugih datoteka zaglavlja
Datoteke zaglavlja može generirati programer, ali zapravo postoje biblioteke koje se mogu pozvati unutar programa.
Primjer:
#define<iostream .h> // library for handling input−output
int main(){
. . . . .
. . .
return 0;
}
Da, glavne C++ knjižnice su:
• iostream: Deklarira objekte koji kontroliraju čitanje i pisanje u standardnim strujama. https://cplusplus.com/reference/iostream/
• array: Definira niz modela klase kontejnera i nekoliko potpornih modela. https://cplusplus.com/reference/array/
• map: Definira mapiranje i multikartu modela kontejnerske klase i njihovih pratećih modela. https://cplusplus.com/reference/map/
• cmath:C++ ima mnogo funkcija za obavljanje matematičkih operacija na brojevima. https://cplusplus.com/reference/cmath/
• string:Ova biblioteka uvodi vrste nizova, karakterne osobine i brojne funkcije pretvorbe. https://cplusplus.com/reference/string/
• cstdio: Ova biblioteka koristi takozvane tokove za rad s fizičkim uređajima kao što su tipkovnice, pisači, terminali ili bilo koja druga vrsta datoteka koju sustav podržava. Tokovi su apstrakcija za interakciju s tim uređajima na ujednačen način. https://cplusplus.com/reference/ cstdio/