std::array 如何存储在堆栈上?

yoy*_*ara -2 c++ memory arrays

最近学习了栈和堆,有些不太明白。

我读到 std::array 存储在堆栈上,即使大小元素的计数和大小未知。

同样,您无法从用户处读取未知长度的输入到堆栈中。

我在这里缺少什么?

Jan*_*Doe 5

要创建一个,std::array您必须在其模板中指定(或让编译器推断)所存储元素的计数和类型。这使得大小在编译时已知,因此可以在堆栈上实例化。

std::array只是 C 风格数组的一个薄包装。大小是固定的,不能增大也不能缩小。