c++ 使用新运算符的Constexpr

relj7zay  于 2023-08-09  发布在  其他
关注(0)|答案(1)|浏览(98)

我使用C++14,我可以像这样使用constexpr吗:

constexpr Myclass* obj = new Myclass()

字符串
我得到一些编译错误,也试图谷歌,但所有的例子没有动态分配。

hc8w905p

hc8w905p1#

我使用C14,我可以这样使用constexpr吗:
不你不能C
14中不允许在常量表达式中计算new表达式。
在C++20中,在某种程度上是这样的,但是 * 只有 * 在常量表达式结束 * 之前,你正确地释放了分配的内存 *。在您的示例中,预期的常量表达式是obj的初始化,它不包括对已分配内存的任何释放。

相关问题