Rust Cell<T>: 在不可变引用的同时修改目标数据

Rust 提供了 Cell 和 RefCell 用于内部可变性,简而言之,可以在拥有不可变引用的同时修改目标数据

Rust Arc<T>:在多线程里共享对象

Rust 里提供了和 Box<T&rt; 类似功能,但是多线程安全的替代品 Arc<T&rt;

Rust 中的计数指针

类似于 shared pointer,用于解决一个值

智能指针:Deref, Drop

智能指针需要实现的两个 trait: Deref & Drop

Rust 中的智能指针

C++ 后来的 std::unique_ptr<> 等智能指针的设计和这个很像

迭代器:消费、适配

Consume Iterator 只要迭代器上的某个方法 A 在其内部调用了 next 方法,那么 A 就被称为消费性适配器:因为 next 方法会消耗掉迭代器上的元素,所以方法 A 的调用也会消耗掉迭代器上的元素。 注意,这里会拿走的是迭代器的所...

Rust 迭代器

转化为迭代器 .into_iter() 拿走所有权,并转化为迭代器 .iter() 对元素进行不可变借用的迭代器 .iter_mut() 对元素进行可变借用的迭代器,可以修改元素 Iterator Trait, IntoIterator Tr...

把 closure 作为函数的返回值

闭包作为函数返回值 回想到我们如何将特征对象作为函数的返回类型,这里的 FnOnce, FnMut, Fn 也都是特征,那么我们可以用相同的方法进行处理: 123456789fn factory(x:i32) -> Box<dyn Fn...

Rust 与函数式编程:闭包

what is closure? Rust 里的 closure 是一种匿名函数,可以保存在变量里用于日后的调用,也可以作为参数传递给函数。而且相比于函数,closure 可以在其定义域内捕获变量。 closure 的类型推导 closure ...

具身智能(一):数据集

Password is needed to access the blog.

1345679