Статья:
Автоматическое выделение памятиАвтор(ы): Алексей Ширшов
Дата: 07.10.2002
Авторы:
Алексей Ширшов
Аннотация:
Эти два класса родились благодаря многочисленным функциям, возвращающим код ошибки ERROR_INSUFFICIENT_BUFFER и книге «Программирование серверных приложений для Windows®2000» Дж. Рихтер, Дж. Кларк.
Класс CAutoBufBase предназначен для автоматического выделения памяти. Он представляет базовую функциональность для другого шаблонного класса CAutoBuf. Классы могут быть использованы в различных целях, однако основная их задача – упростить и повысить наглядность кода, в котором есть многочисленные вызовы функций, требующих буферы переменного размера. У таких функций, как правило, есть несколько параметров, куда передаются указатель на буфер, его размер и адрес переменной, куда будет записан размер скопированных данных. Если в первом параметре передать NULL, то функция вернет требуемый размер буфера. Такую операцию иногда приходиться делать несколько раз. Для упрощения работы с такими функциями и предназначены эти классы.