Как разработчик Boost, я могу вам сказать, что совершенно нормально подвергать сомнению утверждения в документации; -)
Из чтения этих документов и чтения исходного кода (см. storage.hpp ) я могу сказать, что это несколько правильно, учитывая некоторые предположения о реализации std :: vector в то время, когда код был написано. Этот код изначально датируется 2000 годом, а, возможно, и поздним 2002 годом. Это означает, что в то время многие реализации STD не помогали оптимизировать уничтожение и конструирование объектов в контейнерах. Заявление о неизменении размера легко опровергается с помощью изначально большого вектора емкости. Утверждение о скорости, я думаю, полностью вытекает из того факта, что unbounded_array имеет специальный код для исключения dtors & ctors, когда хранимые объекты имеют тривиальные реализации их. Следовательно, он может избегать их вызова, когда ему нужно что-то переставить или когда он копирует элементы. По сравнению с действительно недавними реализациями STD это не будет быстрее, поскольку новая реализация STD, как правило, использует преимущества таких вещей, как перемещение семантики, для еще большей оптимизации.