喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

1.2.1. 一点回顾
上一节中我们使用了引用的例子来模拟指针,但模拟的效果差了很多,我们想要区分原始指针(raw pointer)和智能指针(smart pointer)在内部的区别,具体想要的效果如下:

这个图我在上一篇文章 1.1. 指针概览(上) 中有过详细解释,这里就不再作介绍。
1.2.2. Rust的引用和指针
这篇文章我们会换一个更逼真的例子,使用更复杂的类型展示指针内部的区别:
use std::mem::size_of;
static B: [u8; 10] = [99, 97, 114, 114, 121, 116, 111, 119, 101, 108];
static C: [u8; 11] = [116, 104, 97, 110, 107, 115, 102, 105, 115, 104, 0];
fn main() {
let a: usize = 42;
let b: Box<[u8]> = Box::new(B);
let c: &[u8; 11] = &C;
println!("a (unsigned 整数)");
println!("地址: {}", &a);
println!("大小: {:?} bytes", size_of::<usize>());
println!("值: {:?}\n", a);

最低0.47元/天 解锁文章
671

被折叠的 条评论
为什么被折叠?



