【发布时间】:2021-04-27 13:54:10
【问题描述】:
我正在实施双向链表来学习 rust。
要获得双向链表值,
我想返回对值的引用。
如果我只返回值,我可以。
但如果我这样做,列表值必须实现Clone trait...
我该怎么办?
这是我的示例代码。
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());
}
【问题讨论】:
标签: rust