Operaţii I/O

Acest tip de operaţii sunt, în general, mari consumatoare de resurse, fapt ce generează întîrzieri în execuția diverselor aplicaţii. Abordarea C++ asupra intrărilor/ieșirilor se bazează pe conceptul de stream(flux). Astfel, informațiile transmise către un stream nu sunt direct scrise, ci încărcate într-o zonă de memorie-tampon, de unde, ulterior sunt transmise către dispozitivul fizic. Fluxurile pot fi clasificate în: fluxuri de intrare/ieşire standard, fluxuri de intrare/ieşire folosind fişiere, fluxuri de intrare/ieşire în memorie. Efectiv, streamurile abstractizează operațiile de intrare/ieșire, oferind metode de scriere și citire a datelor  independente de dispozitivul fizic și chiar de platformă. Librăria care conține aceste metode se numește iostream. În ea sunt definite, totodată și clasele: clasa streambuf (pentru gestionarea bufferelor), clasa ios(clasa de bază pentru clasele de stream-uri de intrare și de ieșire), clasele istream si ostream (derivate din ios), clasa iostream (derivată din istream si ostream, oferă metode pentru lucrul cu terminalul), clasa fstream (oferă metode pentru operații cu fișiere).

Utilizarea librăriei iostream.h, într-un program C++, determină automat crearea și inițializarea a patru obiecte:  cin (gestioneaza intrarea de la intrarea standard- tastatura), cout (gestioneaza iesirea catre iesirea standard-ecranul), cerr (gestioneaza iesirea catre dispozitivul standard de eroare – ecranul - neutilizand buffere), clog (gestioneaza iesirea catre dispozitivul standard de eroare – ecranul, utilizand buffere).

2.1 Redirectări

2.2 Obiectul cin

2.3 Obiectul cout

2.4 Formatarea ieșirii

2.5 Fișiere