Boost.Pool: различия между версиями
Содержимое удалено Содержимое добавлено
Drug007 (обсуждение | вклад) |
|||
Строка 452:
(Конкретнее, типы массивов являются объектными типами)
Заключение 2: Для любого указателя p и целого i, если p правильно выравнен в соответствии с типом, на который он указывает, то p + i (при
Нет цитат из Стандарта прямо подтверждающих данное утверждение, но это соответствует общей концепции понятия "выравнивание".
Обратите внимание, что условие для p + i быть
Пусть: sizeof(Element) является наименьшим общим множителем размеров нескольких реальных объектов (T1, T2, T3, ...)
Строка 462:
Пусть: блок будет указателем на блок памяти, pe будет(Element *) блоком, и pn будет (Tn *) блок
Заключение 3: Для каждого целого i, такого что pe + i является
Это естественно, поскольку блок памяти это массив из Element, и для каждого n, sizeof(Element) % sizeof(Tn) == 0; таким образом, граница каждого элемента массива из Elements также является границей каждого элемента в каждом массиве из Tn.
Теорема: Для каждого целого i, такого что pe + i является
Так как pe + i
==== Применение Теоремы ====
|