Video: How does PCM audio work? :: Case study and example C++ code 2024
Multe programe de început C ++ citite de la obiectul de intrare cin și ieșire prin obiectul de ieșire cout. Poate că nu v-ați gândit prea mult la acest lucru, dar această tehnologie de intrare / ieșire este un subset al ceea ce este cunoscut sub numele de flux de intrare / ieșire .
Streamul I / O este un subiect prea mare pentru a fi acoperit complet în orice număr de articole simple - cărțile întregi sunt dedicate acestui subiect. Din fericire, nu este tot ceea ce trebuie să știți despre fluxul de intrare / ieșire pentru a scrie marea majoritate a programelor.
Streamul I / O se bazează pe versiuni supraîncărcate ale operatorului >> () și ale operatorului << () . Declarația acestor operatori supraîncărcați se găsește în fișierul iostream. Codul pentru aceste funcții este inclus în biblioteca standard, la care se leagă programul dvs. C ++.
Următorul cod arată doar câteva dintre prototipurile care apar în iostream :
// pentru intrare avem: istream & operator >> (istream & source, char * pDest); istream & operator >> (istream & source, string & sDest); istream & operator >> (istream & sursă, int & dest); istream & operator >> (istream & source, double & dest); // … și așa mai departe … // pentru ieșire avem: ostream & operator << (ostream & dest, char * pSource); ostream & operator << (ostream & dest, string & sDest); ostream & operator << (ostream & dest, int sursă); ostream & operator << (ostream & dest, sursă dublă); // … și așa merge …
Atunci când este supraîncărcat pentru a efectua I / O, operatorul >> () este numit extractor iar operatorul << () este numit insertor. Clasa istream este clasa de bază pentru intrarea de la un fișier sau de la un dispozitiv, cum ar fi tastatura. C ++ deschide obiectele istream cin atunci când începe programul. În mod similar, ostream este baza pentru ieșire.
Prototipurile de mai sus sunt pentru inseratoare și extractoare pentru pointeri până la șiruri de caractere terminate null (cum ar fi "My name"), pentru obiecte șir, pentru inturi și pentru duble.