Вперед до об’єктно-орієнтованого програмування

Обєкт(Object) це, насправді, просто химерна назва структури (struct) Важлива особливість полягає в тому, що обєкт, крім даних, може містити функції Ось приклад буфера, але з двомафункціями-членами (Member functions), які також називають методами (methods)

Удосконалення C: покращена конструкція struct

Самою очевидною новою особливістю C + + є конструкція class Конструкція class в C + + це майже те ж саме, що struct, тому я на деякий час відволікся від нової форми запису і поясню, як же C + + покращує конструкцію struct Навіть якщо ви не цікавилися обєктно-орієнтованим программиро-

16-бітна ІКМ

16-бітові формати також бувають знакові і беззнакові, однак беззнаковий 16-бітний формат використовується рідко Головною відмінністю є порядок, в якому 2 байта 16-бітного відліку записуються у файл (Ця ж проблема виникає при використанні менш поширених 24І 32-бітних вибірок)

Два види ДИКМ-кодування

Складна і захоплююча завдання, що виникає в процесі розробки якісної ДИКМ-технології, являє собою балансування між двома вимогами Щоб ваш алгоритм зберігав звуки максимально точно, необхідно мати можливість точно записувати кожне з збільшень, особливо, невеликі Однак, оскільки потенційно можливі величини займають більший діапазон, вам, ймовірно, знадобиться зберігати іноді зустрічаються великі прирости Зазвичай це означає, що таке […]

Використання безлічі буферів

Текст, який ви редагуєте в Emacs, знаходиться в обєкті, званому буфером Кожен раз, коли ви звертаєтеся до файлу, для зберігання його тексту створюється буфер Кожен раз, коли ви запускаєте Dired, створюється буфер, що містить список каталогу Якщо ви посилаєте повідомлення за допомогою Cx m, то для тексту цього повідомлення використовується буфер з імям * mail […]

8-бітна ІКМ

Як я вже говорив вище, незважаючи на те що більшість програмістів вважають ІКМ-дані «незжатими», правильніше було б говорити не про компресії, а прокодуванніПодібно іншим методи представлення звуку, ІКМ є кодуванням K жаль, широкого поширення набуло безліч варіантів ІКМ

Ідентифікація файлів AIFF

Файли AIFF і IFF ідентичні, а будь-який файл IFF починається з чотирьох символів FORM Далі слід 4-байтна довжина і код типу B даному випадку нас цікавлять тільки типи AIFF і AIFFC Лістинг 181 Ідентифікація файлу у форматі AIFF bool IsAiffFile(istream &ampfile) {

Читання файлів AU

Всі класи читання аудіофайлів, які ми побудуємо, мають схожу основу Як було показано на рис 101, коли у класу файлу запитуються відліки, він направляє закид до обєкта декодера Лістинг 154 Члени класу AuRead private: istream &amp_stream

Істинне ООП: класи і спадкування

Тепер я готовий навести приклад з буфером, використовуючи звичайну для C + + запис: class Buffer { private: char *_begin char *_end char _data[256] public: Buffer() { _begin = _data _end = _data } ~Buffer () { delete[] _data}

Усталені угоди

Колишні обєктно-орієнтовані мови не користувалися особливою популярністю через проблеми з ефективністю Так як C + + розроблявся, зокрема, для вирішення цих проблем, в нього було включено безліч деталей, що дозволяють писати більш ефективний код Ініціалізація конструктора