gpt4 book ai didi

rust - Box::into_raw() 和 Box::leak() 到底有什么区别?

转载 作者:行者123 更新时间:2023-12-05 01:50:11 25 4
gpt4 key购买 nike

如您所知,Box::into_raw() 和 Box::leak() 都会消耗当前 Box 并失去内存所有权。

两者看起来只是返回值的类型不同,那么它们还有什么区别呢?

典型应用场景如何?

最佳答案

into_raw通常用于 FFI 以获取可发送到其他语言的指针,并且通常与稍后对 from_raw 的调用相匹配收回所有权并释放内存。

leak通常用于获取 'static 引用以满足某些 API 要求,并且通常保留到程序退出。

关于rust - Box::into_raw() 和 Box::leak() 到底有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73330017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com