Rust指针选择

Rust指针选择:

1.优先使用引用:安全访问数据

rust 复制代码
fn process(data: &[i32]) { /* ... */ }

2.需要所有权转移时用 Box

rust 复制代码
fn create() -> Box<Data> { Box::new(Data::new()) }

3.共享数据用 Rc/Arc

rust 复制代码
// 单线程
let shared = Rc::new(data);

// 多线程
let thread_safe = Arc::new(Mutex::new(data));

4.内部可变性用 RefCell

rust 复制代码
let cell = RefCell::new(42);
*cell.borrow_mut() = 100;

5.底层操作/FFI 用裸指针

rust 复制代码
extern "C" {
    fn c_function(ptr: *const libc::c_char);
}

注:学好rust从入门到入土!!!

相关推荐
Source.Liu19 分钟前
【unitrix数间混合计算】2.21 二进制整数加法计算(bin_add.rs)
rust
Include everything1 小时前
Rust学习笔记(二)|变量、函数与控制流
笔记·学习·rust
羊锦磊1 小时前
[ Mybatis 多表关联查询 ] resultMap
java·开发语言·数据库·mysql·mybatis
ZeroToOneDev4 小时前
Java(泛型和JUnit)
java·开发语言·笔记
Source.Liu4 小时前
【unitrix数间混合计算】2.20 比较计算(cmp.rs)
rust
许野平4 小时前
Rust:构造函数 new() 如何进行错误处理?
开发语言·后端·rust
许野平4 小时前
Rust:专业级错误处理工具 thiserror 详解
rust·error·错误处理·result·thiserror
mCell5 小时前
Go 并发定时任务避坑指南:从 Sleep 到 Context 的 8 种写法全解析
后端·性能优化·go
先做个垃圾出来………5 小时前
如何培养自己工程化的能力(python项目)
开发语言·python