CMemFile

CMemFile є CFile-отриманих класу, який підтримує файли пам'яті. Ці файли пам'яті ведуть себе як файлах на диску за винятком, що файл зберігається в оперативній пам'яті, а не на диску. Файл пам'яті є корисним для швидкого тимчасового зберігання або передачі сирих байтів або серіалізованной об'єктів між незалежних процесів.

CMemFile об'єкти автоматично можна виділити їх власної пам'яті, або ваші власні блоку пам'яті можна прикріпити до CMemFile об'єкт за номером Вкласти. У будь-якому випадку пам'яті для вирощування пам'яті файл автоматично виділяється в nGrowBytes-sized кроками, якщо nGrowBytes не нуль.

Блок пам'яті буде автоматично видалено після знищення CMemFile об'єкта Якщо пам'ять була спочатку виділений об'єкт CMemFile ; в іншому випадку, ви несете відповідальність за deallocating пам'яті, що додається до об'єкта.

Блок пам'яті можна отримати доступ через вказівник, коли ви відокремити його з CMemFile об'єкта за номером Відкріпити.

Найбільш поширене використання CMemFile є створення об'єкта CMemFile і використовувати його по телефону CFile функції члена. Примітка, що створення CMemFile автоматично відкриває його: ви не вимагають CFile::Open, який використовується тільки для файлах на диску. Тому, що CMemFile не використання диску файлу даних член CFile::m_hFile не використовується і не має сенсу.

CFile функції члена дублювати, LockRangeі UnlockRange не реалізовано для CMemFile. Якщо ви називаєте ці функції CMemFile об'єкта, ви отримаєте CNotSupportedException.

CMemFile використовує бібліотеку функцій malloc, realloc, і вільний виділити, перерозподілити і deallocate пам'яті; і до внутрішньої memcpy блок копії пам'яті під час читання та письма. Якщо ви хотіли б змінити цю поведінку або поведінку, коли CMemFile росте у файл, отримати свій власний клас з CMemFile і перевизначити відповідної функції.

Більш докладну інформацію про CMemFile, перегляньте статті файлів у MFC і Пам'яті управління теми (MFC) в Visual C++ програміста керівництво і побачити Обробка файлів Під час бібліотеки посилання.

# включити lt;afx.h>

|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма

Index