我明白为什么它们必须具有恒定的大小,但我不明白为什么必须在编译时知道该大小。即使 C 也允许在堆栈上使用可变长度数组。这个限制对 Rust 有什么帮助?
\n\n即使 C 也允许在堆栈上使用可变长度数组。
\n
由于其简单的语义,C 可以相对容易地支持这一点。
\n当你必须调用 destructors/ 时drop,这远没有那么简单,所以 Rust 最初并不支持它,因为它需要努力实现,并且不会带来那么多好处。
最终,由于RFC 1909 \xe2\x80\x94 unsized rvalues , Rust 将支持这一点(并且已经在 nightly 上支持了) 。
\n