Rust指针选择:
1.优先使用引用:安全访问数据
fn process(data: &[i32]) { /* ... */ }
2.需要所有权转移时用 Box
fn create() -> Box<Data> { Box::new(Data::new()) }
3.共享数据用 Rc/Arc
// 单线程
let shared = Rc::new(data);// 多线程
let thread_safe = Arc::new(Mutex::new(data));
4.内部可变性用 RefCell
let cell = RefCell::new(42);
*cell.borrow_mut() = 100;
5.底层操作/FFI 用裸指针
extern "C" {fn c_function(ptr: *const libc::c_char);
}
注:学好rust从入门到入土!!!