Arc<T> 、RefCell<T> 、weak<T>
1. Arc<T>
Arc<T>use std::sync::Arc;
fn main() {
let arc1 = Arc::new(5); // 创建一个 Arc 指针
let arc2 = Arc::clone(&arc1); // 克隆 Arc,不会复制数据
println!("arc1: {}, arc2: {}", arc1, arc2);
println!("引用计数: {}", Arc::strong_count(&arc1)); // 输出: 2
}2. RefCell<T>
RefCell<T>3. Weak<T>
Weak<T>4. 结合使用 Arc<RefCell<T>> 和 Weak<T>
Arc<RefCell<T>> 和 Weak<T>总结
Last updated