
获得徽章 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,因为它是一个引用。
假设我们有以下 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
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章