Vidéo: How does PCM audio work? :: Case study and example C++ code 2024
De nombreux programmes C ++ débutent à partir de l'objet d'entrée cin et sortent par l'objet de sortie cout. Peut-être n'y avez-vous pas vraiment beaucoup réfléchi, mais cette technique d'entrée / sortie est un sous-ensemble de ce que l'on appelle les E / S de flux .
L'E / S de flux est un sujet trop vaste pour être couvert complètement dans un certain nombre d'articles simples - des livres entiers sont consacrés à ce sujet. Heureusement, il n'y a pas tout ce que vous devez savoir sur les E / S de flux pour écrire la grande majorité des programmes.
Les E / S de flux sont basées sur des versions surchargées de l'opérateur >> () et de l'opérateur << () . La déclaration de ces opérateurs surchargés se trouve dans le fichier iostream. Le code de ces fonctions est inclus dans la bibliothèque standard avec laquelle votre programme C ++ est lié.
Le code suivant montre seulement quelques-uns des prototypes apparaissant dans iostream :
// pour l'entrée nous avons: istream & operator >> (istream & source, char * pDest); istream & operator >> (istream et source, string & sDest); istream & operator >> (istream et source, int & dest); istream & operator >> (istream et source, double & dest); // … et ainsi de suite … // pour la sortie nous avons: ostream & operator << (ostream & dest, char * pSource); ostream et opérateur << (ostream & dest, string & sDest); ostream & operator << (ostream & dest, int source); ostream & operator << (ostream & dest, double source); // … et ainsi de suite …
En cas de surcharge pour effectuer des E / S, l'opérateur >> () s'appelle l'extracteur et l'opérateur << () s'appelle l'inséreur . La classe istream est la classe de base pour la saisie d'un fichier ou d'un périphérique tel que le clavier. C ++ ouvre l'objet istream cin lorsque le programme démarre. De même, ostream est la base de la production.
Les prototypes ci-dessus sont pour les inserters et les extracteurs pour les pointeurs vers des chaînes de caractères terminées nulles (comme "Mon nom"), pour les objets string, pour ints, et pour les doubles.