gpt4 book ai didi

rust - 为什么 Rust 没有联合?

转载 作者:行者123 更新时间:2023-11-29 07:40:39 27 4
gpt4 key购买 nike

我能想到 C 帮助中的联合有用的许多地方,它们可以节省内存。 Rust 是一种系统编程语言,为什么它不支持联合?

最佳答案

联合被添加到 ( RFC 1444 ) 的语言中,并且自 Rust 1.19.0 起稳定。 .它们需要使用 unsafe block 。

原始联合不是内存安全的(因为编译器无法保证您始终从联合中读取正确的类型(即最近写入的类型))。 Rust 的目标之一是创建一种具有内存安全性的低级语言;由于联合与该目标不兼容,因此它们未包含在 Rust 1.0 中。

相反,Rust 有 enums ,它提供联合的大部分优点以换取少量内存使用,但它们是内存安全的,因为枚举值始终跟踪它包含的特定类型。

关于rust - 为什么 Rust 没有联合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29248665/

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