理解Deref解引用
理解Deref解引用
常规引用下的 `&` 和 `*` 常规引用 `&` (c 语言叫取地址符)是一个指针类型,包含了目标数据存储的内存地址。对常规引用使用 `*` 操作符,就可以通过解引用的方式获取到内存地址对应的数
理解Rc和Arc
理解Rc和Arc
所有权 所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成了重中之重,也是所有编程语言设计的难点之一。在计算机语言不断演变过程中,出现了三
理解Cell和RefCell
理解Cell和RefCell
Cell 和 RefCell 的作用 Rust 的借用规则(同一时刻,只能拥有一个可变引用,或者多个不可变引用)带来安全提升的同时,却也损失了灵活性,在有些时候,我们可能需要对一个不可变引用的目标进行
Rust 中的拷贝和克隆
Rust 中的拷贝和克隆
克隆(Clone) 克隆是一种深拷贝(deep copy)机制,可以用于任何类型,包括堆上分配的数据: 1. 定义特点:通过实现 Clone 特征并调用 clone() 方法,可能会复制堆上的数据。
如何在vscode中用rust刷leetcode
如何在vscode中用rust刷leetcode
步骤 安装 vscode 插件 1. vscode-leetcode( leetcode 题库) 2. CodeLLDB ( Debug Rust ) 3. rust-analyzer ( Rust
理解miri 与 栈借用
理解miri 与 栈借用
什么是指针混叠(pointer aliasing)? 1. 对于同一块内存,存在多个指针指向,或者说,两个指针指向的内存存在重叠。比如: ```rust let s = S { a: 1, b: 2
Rust编译的 wasm 在 Vite 中使用
Rust编译的 wasm 在 Vite 中使用
Rust 编译为 wasm 1. 下载安装 rust 相关环境: `rustup`(rust的版本管理工具)、`cargo`(rust 依赖管理工具) ```sh(linux|mac)
Rust生命周期的消除规则
Rust生命周期的消除规则
前言 1. Rust 的编译器编译器使用三条消除规则来确定哪些场景不需要显式地去标注生命周期。其中第一条规则应用在输入生命周期上,第二、三条应用在输出生命周期上。若编译器发现三条规则都不适用时,就会报
前端视角下的 Rust 简单概念理解
前端视角下的 Rust 简单概念理解
前言 1. Rust 的语法设计确实繁琐复杂,但是编程语言底层思想终归是万变不离其宗的。在学习 TS 类型体操和函数式编程思想后,去学习 Rust 的过程中,我发现很多地方有异曲同工之妙。于是重新梳理