Boost.Pool: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 420:
Каждый Pool имеет связанный список выделенных блоков памяти, который может быть расширен при необходимости.Каждый блок памяти по умолчанию выделяется с помощью new[], и все блоки памяти освобождаются при вызове деструктора. Использование new[] позволяет нам гарантировать выравнивание.
 
==== Доказательство концепции: Гарантированное выравнивание(Proof of Concept: Guaranteeing Alignment) ====
Каждый блок памяти выделяется как POD тип (конкретно, как массив символов) с помощью оператора new[]. Возьмем POD_size как число выделенных символов.
Each block of memory is allocated as a POD type (specifically, an array of characters) through operator new[]. Let POD_size be the number of characters allocated.
 
Предикат 1: Массив может не иметь выравнивания (padding)
Predicate 1: Arrays may not have padding
 
This follows from the following quote: