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从入门到入土!!!

相关推荐
四维碎片5 分钟前
【Qt】代理(Delegate)的使用
开发语言·qt
鹓于11 分钟前
Excel一键生成炫彩二维码
开发语言·前端·javascript
froginwe1113 分钟前
MongoDB 固定集合详解
开发语言
m0_7369191025 分钟前
C++中的策略模式实战
开发语言·c++·算法
子春一25 分钟前
Flutter for OpenHarmony:构建一个智能长度单位转换器,深入解析 Flutter 中的多字段联动、输入同步与工程化表单设计
开发语言·javascript·flutter
从此不归路32 分钟前
Qt5 进阶【9】模型-视图框架实战:从 TableView 到自定义模型的一整套落地方案
开发语言·c++·qt
hssfscv38 分钟前
Javaweb学习笔记——后端实战7 springAOP
笔记·后端·学习
消失的旧时光-194339 分钟前
第九课实战版:异常与日志体系 —— 后端稳定性的第一道防线
java·后端
人道领域43 分钟前
javaWeb从入门到进阶(SpringBoot基础案例2)
java·开发语言·mybatis
Stack Overflow?Tan9044 分钟前
c++constexpr
开发语言·c++