Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.9k views
in Technique[技术] by (71.8m points)

rust - How Can I return refenrece of RefCell value

I'am implementing doubly linked list to learn rust.
To get doubly linked list value,
I would like to return reference to value.

If I just return value, I can.
But if I do so, list value must implemeted Clone trait...
How should I do?

This is my sample code.

use std::rc::Rc;
use std::cell::RefCell;

struct Person{
    age: Rc<RefCell<i32>>,
}

impl Person {
    fn get_string<'a>(&'a self) -> &'a i32{
        //  acutually do while loop until reach designated index
        let person_age = *self.age.borrow_mut();
        //  I want to return reference to i32
        &person_age
    }
}
fn main() {
    let age = Rc::new(RefCell::new(10));
    let person = Person{age:Rc::clone(&age)};
    println!("person name is {}", person.get_string());
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...