Ada*_*amM 1 memory stack allocation heap-memory rust
有没有办法(除了查看实现和文档)来确定 rust 中的 new() 何时在堆栈或堆上分配?
理想情况下,我正在寻找一种方法来在编写源代码时一目了然地确定这一点。例如,可以添加限制是否可以进行堆分配的特征或参数。
无论如何,Rust 中命名的函数new()并不特殊。所以不,您无法轻松确定此类函数返回的内容是否拥有任何堆分配的数据。即使对于std::default::Default特征实现,也没有任何限制或约定阻止该default()方法进行堆分配,通常也没有记录。