在数组大小中使用constexpr是否会阻止它成为VLA?

时间:2018-02-01 14:33:49

标签: arrays c++11

在数组大小中使用constexpr是否会阻止它成为VLA?例如:

constexpr int buffer_size = 256*2;
char buffer[buffer_size];

缓冲区是VLA(可变长度数组)吗?我该怎么说?我在这里用buffer_sizeconstexpr int作为宏的替代。

1 个答案:

答案 0 :(得分:3)

是的,数组可以从arr获得其大小。

您可以通过GCC和Clang上的constexpr进行编译,如果您不小心使用了诸如VLA之类的扩展名,它将停止编译。