Rust 编程视频教程(进阶)——010_2Box 使用实例 
                                                    
                        
                    
                    
  
                    
                    视频地址
头条地址:https://www.ixigua.com/i677586170644791348...
B站地址:https://www.bilibili.com/video/av81202308/
讲解内容
box使用的第一种场景,实例。
(1)错误程序:
enum List {
    Cons(i32, List), //链表,类似于c语言的结构体定义:
                            //struct List{
                            //int,
                            //struct List L;//当然是错误写法,c编译器此时不知道L有多大,正确写法应该是:Struct List *p;
                            //}
    Nil,
}
fn main() {
    use List::Cons;
    let list = Cons(1, Cons(2, Cons(3, Nil))); //要报错,因为编译器不知道给list分配多大的内存,类似于上面c语言那个错误写法
    println!("Hello, world!");
}(2)正确的方式使用Box
enum List {
    Cons(i32, Box<List>), //用Box就把它变成了一个指针,类似于c语言的结构体定义:
                                        //struct List{
                                        //int,
                                        //struct List *p;
                                        //}
    Nil,
}
fn main() {
    use List::Cons;
    let list = Cons(1,
    Box::new(Cons(2,
        Box::new(Cons(3,
            Box::new(Nil))))));
    println!("Hello, world!");
}本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: