- 博客(3)
- 收藏
- 关注
原创 【Rust笔记】所有权(2)引用与借用
现在,我们来看看这个程序:会发现它无法编译,给出的错误提示和 [所有者 1 所有者、移动、克隆](./所有者 1 所有者、移动、克隆.md) 中 **例子2 **的编译失败提示一样,也是 。其实,在将 作为参数传给 的过程中也发生了一次 移动,而且没有再移动回来。这不难理解,因为函数的参数本质上其实也是个 变量 嘛。那么怎么办呢?欸嘿,我再给它移回来不就好了!进行如下修改:成功运行。然而,这么写多少有点 呆,有没有更好的办法?答案是有,就是使用 引用。引用 其实像是一个指针,因为其实它是个地址,
2022-06-28 20:17:05 422 1
原创 【Rust笔记】所有权(1)所有者、移动、克隆
在程序运行时可供使用的内存包含 栈区 和 堆区,对应着两种不同的数据结构 栈 和 堆,他们的特性不同,存储的数据也不同。栈区 中存储的数据必须是 占用已知且固定的大小 的,而 堆区 中存储的数据是 编译时大小未知或可能变化 的。占用已知且固定的大小 数据可以直接以 进栈 的方式存入内存,但是对于 编译时大小未知或可能变化 的数据,则需要先向 内存分配器 申请一定大小的空间,随后在 堆区 找到一块空位,标记为已使用并返回该位置的 指针 以供使用,这个过程称为 在堆上分配内存。在 Rust 中,有一个 所有者
2022-06-28 19:29:51 337
原创 积分法推导正整数平方和公式
积分法推导正整数平方和公式积分法推导正整数平方和公式思路证明过程积分法推导正整数平方和公式正整数平方和公式:12+22+32+⋯+n2=n(n+1)(2n+1)6\Large 1^2 + 2^2 + 3^2 + \cdots + n^2 = \frac{n(n+1)(2n+1)}{6}12+22+32+⋯+n2=6n(n+1)(2n+1)思路我们并不知道如何求 ∑i=1ni2\la.........
2020-01-04 17:00:50 6519 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人