Програмування С, С++теорія та практика (частина 2)
2.10 Класи потоків С++
Потік - абстрактне поняття, що відноситься до будь-якого перенесення даних. Читання даних з потоку називається вилученням, запис даних в потік називається поміщенням, або включенням. Потік визначається як послідовність байтів і не залежить від конкретного пристрою, з яким проходить обмін (оперативна пам’ять, файл на диску, клавіатура або принтер). Обмін даними з потоком для збільшення швидкості передачі даних здійснюється, як правило, через спеціальну область оперативної пам’яті - буфер.
За напрямом обміну потоки можна поділити на вхідні (дані вводяться в пам’ять), вихідні (дані виводяться з пам’яті) і двонапрямлені (ті, що допускають як вилучення, так і поміщення даних).
Технологія потоків значно відрізняється від звичайних засобів введення-виведення, які використовує Сі. Згадаймо відомі функції з традиційного Сі - ргіпґ/(), зсап/() та численних їхніх “родичів”, які не передбачають ніякої перевірки типу, потребуючи від програміста чіткого дотриманні правил застосування аргументів, символів форматування тощо. Компілятор в такому випадку не в змозі сигналізувати про невідповідність специфікацій формату прийнятим фактичним аргументам, а тому цілком покладає цю відповідальність на користувача, що на практиці нерідко закінчується помилкою виконання. Використання класів потоків настільки спрощене, що контроль за співпаданням кількості та типів аргументів перекладається на компілятор.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
