本文主要是介绍C++(20):constexpr函数中可以成对的使用new/delete,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++20前,constexpr函数中是不能使用new和delete的。
C++20进一步的放宽了限制,允许成对的使用new和delete。
#include <iostream>
using namespace std;constexpr int doAdd(int a)
{int *d = new int[a];for(int i = 0; i < a; i++){d[i] = i;}int res = 0;for(int i = 0; i < a; i++){res += d[i];}delete[] d;return res;
}int main()
{int ret = doAdd(5);cout<<ret<<endl;return 0;
}该程序在C++20之前的编译器上是无法通过编译的,C++20的编译器可以正常的编译。运行程序输出:
10
这篇关于C++(20):constexpr函数中可以成对的使用new/delete的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!