constexpr int func(int n)
{
return n;
}
int main()
{
constexpr int n =10;
int a[n] = {0};
cout<<"a:"<<sizeof(a)/sizeof(a[0])<<endl;
int b[func(6)] = {0};
// n = 7; n依旧不能被修改
cout<<"b:"<<sizeof(b)/sizeof(b[0])<<endl;
cout<< func(5)<<endl;
return 0;
}
运行结果
结论:
1、可以利用constexpr实现某种意义上的“变长数组”
2、constexpr修饰的变量依然不能再写入
扩展资料(推荐):
简书 C++11/14 constexpr 用法