Оператора constexpr new
нет.
Начиная с C ++ 20, вы можете использовать оператор new
в выражениях constexpr
при условии, что вы используете только заменяемую функцию глобального распределения (это означает что вы не используете размещение new
или определяемую пользователем функцию распределения) и что вы освобождаете данные в том же выражении.
Итак, в вашей последней программе это не выделяет память, поскольку вы закончится только окончательным результатом вашего выражения constexpr
.