根据 C++ 草案,运行时数组在堆栈上的边界
Runtime array bounds on stack as per c++ draft
根据我根据之前的阅读理解,数组大小需要保持不变并且在编译时已知,但支持 VLA 的 g++ 提供的额外支持除外。
但是我正在阅读一份 c++ 草案,现在我很困惑,c++ 是否支持运行时数组边界。他们给出了以下用于定义数组的代码示例。
C++ 草案 link:http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3690.pdf
第 8.3.4 节
例如:
void f(unsigned int n) {
int a[n]; // type of a is “array of runtime bound of int”
}
不,C++ 不支持并且仍然不支持具有 运行 时间大小的数组。 N3690 是 C++11 和 C++14 之间的草案,它包含提案 N3639 Runtime-sized arrays with automatic storage duration (revision 5)
中的文本
该提案最终被废弃,在 C++14 draft N4140 中删除了文本。
翻阅草稿时,可以用作"The standard"的是
根据我根据之前的阅读理解,数组大小需要保持不变并且在编译时已知,但支持 VLA 的 g++ 提供的额外支持除外。
但是我正在阅读一份 c++ 草案,现在我很困惑,c++ 是否支持运行时数组边界。他们给出了以下用于定义数组的代码示例。
C++ 草案 link:http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3690.pdf
第 8.3.4 节
例如:
void f(unsigned int n) {
int a[n]; // type of a is “array of runtime bound of int”
}
不,C++ 不支持并且仍然不支持具有 运行 时间大小的数组。 N3690 是 C++11 和 C++14 之间的草案,它包含提案 N3639 Runtime-sized arrays with automatic storage duration (revision 5)
中的文本该提案最终被废弃,在 C++14 draft N4140 中删除了文本。
翻阅草稿时,可以用作"The standard"的是