【发布时间】:2016-06-08 15:18:10
【问题描述】:
这是一个例子:
use std::rc::Rc;
#[derive(PartialEq, Eq)]
struct MyId;
pub fn main() {
let rc_a_0 = Rc::new(MyId);
let rc_a_1 = rc_a_0.clone();
let rc_b_0 = Rc::new(MyId);
let rc_b_1 = rc_b_0.clone();
println!("rc_a_0 == rc_a_1: {:?}", rc_a_0 == rc_a_1);
println!("rc_a_0 == rc_b_0: {:?}", rc_a_0 == rc_b_0);
}
上面的println!s 都打印true。有没有办法区分 rc_a_* 和 rc_b_* 指针?
【问题讨论】:
标签: rust identity smart-pointers reference-counting