在数组大小中使用constexpr
是否会阻止它成为VLA?例如:
constexpr int buffer_size = 256*2;
char buffer[buffer_size];
缓冲区是VLA(可变长度数组)吗?我该怎么说?我在这里用buffer_size
和constexpr
int作为宏的替代。
答案 0 :(得分:3)
是的,数组可以从arr
获得其大小。
您可以通过GCC和Clang上的constexpr
进行编译,如果您不小心使用了诸如VLA之类的扩展名,它将停止编译。