Skip to content

G.TYP.PTR.01 RcArcBox 不应相互嵌套使用

【级别】 建议

【描述】

不合理的智能指针嵌套使用容易造成多级指针引用,导致内存访问效率不佳。 建议使用 Rc<T>Arc<T> 来替代 Rc<Box<T>>Arc<Box<T>> 类型。

【反例】

Rust
use std::rc::Rc; 
fn main() {
  let val = Rc::new(Box::new(0i32)); // 不符合 println!("{val:?}");
}

【正例】

Rust
use std::rc::Rc; 
fn main() {
  let val = Rc::new(0i32); // 符合 println!("{val:?}");
}