具有动态内存分配的C ++ constexpr函数

chr*_*art 5 c++ c++20

作为一个示例,给定constexpr字符串文字,我想将其转换为另一个constexpr数据结构。由于此转换是完全无副作用的,因此,我希望有一种在编译时执行此操作的方法(没有预处理器,但具有标准的C ++语言功能)。

现在,我可以肯定的是,我曾经读过一篇有关C ++ 2a(或更高版本)的潜在将来功能的介绍,该功能允许在constexpr函数中动态分配内存,这肯定是解决我的问题的方法。-但我再也找不到该文章了。

是否已经有一种方法可以在C ++中的constexpr上下文中执行动态内存分配,或者没有人知道哪篇论文对此提出了建议?

Joj*_*GME 5

此类功能计划用于C++20。但是,分配的内存不得泄漏到运行时中。如果您的 constexpr 数据结构需要保存分配的内存,这可能会出现问题。您可以在P0784 中找到有关该功能以及非瞬态分配有问题的更多信息。