Сначала я реализовал псевдоконтейнер с поддержкой constexpr
, используя голый new
/ delete
. Затем я переделал его, чтобы использовать std::allocator
при всей его полезности. Делая это, я обнаружил, что нет возможности реализовать constexpr
uninitialized_default_construct
, потому что вы не можете использовать размещение new
в constexpr
, а также нет ничего в C ++ 20 с эквивалентными эффектами, которые также constexpr
.
Есть ли способ обойти это без серьезных изменений в реализациях контейнеров для поддержки инициализации по умолчанию в constexpr
? Помимо написания статьи, чтобы сделать uninitialized_default_construct
constexpr
или представить что-то вроде default_construct_at
, похожее на construct_at
?