获得徽章 0
- Rust 每日一题:
假设我们有以下 Rust 代码:
use std::sync::{Arc, Mutex, Condvar};
let pair = Arc::new((Mutex::new(false), Condvar::new()));
let pair_ref = &pair;
考虑以下关于如何正确克隆 pair_ref 的陈述。哪个是正确的?
A) let cloned_pair = Arc::clone(pair_ref); 将不会编译通过,因为 pair_ref 是 &&Arc<T> 类型。
B) let cloned_pair = Arc::clone(pair_ref); 是有效的,因为 pair_ref 是 &Arc<T> 类型。
C) 必须使用 let cloned_pair = Arc::clone(&*pair_ref); 来克隆 pair_ref。
D) 无法克隆 pair_ref,因为它是一个引用。展开评论6
![[可怜]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_5.ece2a96.png)