【发布时间】:2020-06-20 23:05:42
【问题描述】:
首先,我使用裸new/delete 实现了一个具有constexpr 能力的伪容器。然后我将它重构为使用 std::allocator 来实现它的所有优点。在这样做的过程中,我发现没有办法实现constexpruninitialized_default_construct,因为你不能在constexpr 中使用放置new,C++20 标准中也没有任何具有等效效果的东西还有constexpr。
如果不对容器的实现进行重大更改以支持constexpr 中的默认初始化,有没有办法解决这个问题?除了写一篇论文来制作uninitialized_default_constructconstexpr 或介绍类似于construct_at 的default_construct_at 之类的东西?
【问题讨论】: