在堆栈上进行分配时,我不必一定要知道在编译时分配的C数组的大小。即我可以做到这一点:
void foo(size_t s) {
uint8_t bar[s]; // `s` not known at compile time
some_func_that_uses_bar(bar, sizeof(bar));
}
Run Code Online (Sandbox Code Playgroud)
但是,为了减少出错的可能性,我觉得我也应该可以使用C ++来做到这一点std::array,但是我还无法弄清楚该怎么做(也不知道是否可能)。