Os usuários podem especificar E/S de tipos definidos pelo usuário, comotambém de tipos padrão. Estaextensibilidade é um dos recursos mais valiosos de C++.Boa prática de programação 11.1Use exclusivamente a forma de EIS de C+ + em programas em C+ +, apesar dofato de que a EIS ao estilode C está disponível para os programadores de C++.Observação de engenharia de software 11.1 ______ O estilo de EIS de C+ + é seguro quanto ao tipo.Observação de engenharia de soflware 11.2 ______ C+ + possibilita um tratamento comum da EIS de tipos primitivos e detipos definidos pelo usuário. Este tipo de “comunalidade “facilita odesenvolvimento de software em geral e a reutilização de software emparticular 11.2 StreamsA E/S em C++ ocorre em streams de bytes. Um stream é simplesmente umaseqüência de bytes. Em operações de entrada, os bytes fluem de um dispositivo(por exemplo: um teclado, uma unidade de disco ou uma conexão de rede) paraa memória principal. Em operações de saída, os bytes fluem da memóriaprincipal para um dispositivo (por exemplo: uma tela de monitor, umaimpressora, uma unidade de disco ou uma conexão de rede).O aplicativo associa significados aos bytes. Os bytes podem representar caracteres ASCII, formato interno de dados brutos, imagens gráficas, vozdigitalizada, vídeo digital ou qualquer outro tipo de informações que umaplicativo possa requerer.O trabalho dos mecanismos de E/S do sistema é mover bytes de dispositivospara a memória, e vice-versa, de uma maneira consistente e confiável. Taistransferências envolvem freqüentemente movimento mecânico, tal como arotação de um disco ou uma fita, ou o próprio bater nas teclas em um teclado. Otempo que estas transferências tomam normalmente é enorme, se comparadoao tempo que o processador leva para manipular dados internamente. Dessemodo, operações de E/S exigem planejamento e afinação cuidadosa, paragarantir o máximo desempenho.C++ fornece tanto recursos de E/S “de baixo nível” como de “alto nível”.Recursos de E/S de baixo nível (i.e., E/S não-formatada) especificamtipicamente que algum número de bytes deve simplesmente ser transferido deum dispositivo para a memória ou da memória para um dispositivo. Em taistransferências, cada byte é o item de interesse. Tais recursos de baixo nívelfornecem alta velocidade, transferências de grande volume, mas estes recursosnão são particularmente convenientes para as pessoas.As pessoas preferem uma visão de nível mais alto da E/S (i.e, EIS formatada),na qual os bytes são agrupadosem unidades significativas, tais como inteiros, números de ponto flutuante,caracteres, strings e tipos definidos pelo640 c++ COMO PROGRAMAR
Leave a Comment