Я бы не советовал принимать это решение на основе ощутимых преимуществ в отношении фрагментации. Вместо этого примите решение, основанное на дизайне вашего класса.
Если подобъекты не играют никакой роли в общедоступном интерфейсе содержащего объекта, вы можете их объединить, тем самым уменьшая общедоступный интерфейс внешнего объекта и, вероятно, время компиляции. Затем вы можете в частном порядке определить реализацию подобъектов, скрытых в реализации без публичной видимости.
С другой стороны, если ваш дизайн выигрывает от удобства автоматического управления, если непосредственно содержащиеся объекты используют этот подход.
После принятия этого решения, исходя из соображений проектирования, если у вас все еще есть проблемы с фрагментацией, правильный способ решения этой проблемы - это самостоятельно управлять распределением, используя собственный распределитель, а не полагаться на какое-либо конкретное поведение встроенного распределителя используется new
.