But even though operator new is also a C++ tool, it still implicitly creates objects.

On Sat, Sep 3, 2022 at 11:00 PM Jason McKesson via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On Sat, Sep 3, 2022 at 9:18 AM blacktea hamburger via Std-Proposals
<std-proposals@lists.isocpp.org> wrote:
>
> So why is there IOC? Because it is to prevent undefined behavior from happening (but only for trivial types).

No, that's not why IOC exists.

IOC was created because a lot of low-level C++ programming involves
C-isms like just pretending that objects exist in storage and using
them, rather than using the C++ mechanisms that exist to create those
objects. IOC effectively canonizes some of those C-isms.

Using `delete` directly isn't a C-ism. So the question stands: why do
people need to be able to do what you're talking about?
--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals