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

相关推荐
ltl4 分钟前
哈希表内部:开放寻址、链式、Robin Hood
后端
zhangzeyuaaa5 分钟前
Python推导式(Comprehensions)
开发语言·python
m0_716765235 分钟前
数据结构三要素、时间复杂度计算详解
开发语言·数据结构·c++·经验分享·笔记·算法·visual studio
卷心菜狗7 分钟前
Python进阶基础--面向对象编程(OOP)
开发语言·python
开心码农1号8 分钟前
RabbitMQ 生产运维命令大全
linux·开发语言·ruby
网安INF8 分钟前
数据结构第二章复习:线性表
java·开发语言·数据结构
aq553560011 分钟前
Laravel10.X核心特性全解析
java·开发语言·spring boot·后端
油墨香^_^19 分钟前
Spring Boot集成WebSocket,实现后台向前端推送信息
开发语言