Причина в основном историческая - связывание было более сложным, прежде чем C ++ 11 добавил allocator_traits
. Networking TS определяет концепцию «прото-распределителя» ([async.reqmts.proto.allocator]), где перепривязка всегда применяется перед любым использованием, поэтому, вероятно, когда-нибудь требование будет ослаблено.