我使用C++14,我可以像这样使用constexpr吗:
Constexpr Myclass* obj= new Myclass()
我遇到一些编译错误,也尝试谷歌,但所有示例都没有动态分配
我使用C++14,我可以像这样使用constexpr吗:
不,你不能。 C++14 中永远不允许对常量表达式中的
new
表达式求值。
在 C++20 中,在某种程度上是这样,但是仅如果在常量表达式结束之前正确地释放了已分配的内存。在您的示例中,预期的常量表达式是 obj
的初始化,其中不包括已分配内存的任何释放。