10得票3回答
将std::unique_ptr类成员标记为const

很多使用std::unique_ptr来管理类依赖关系的示例看起来像下面这样: class Parent { public: Parent(Child&& child) : _child(std::make_unique<Child>(std::m...

47得票7回答
如何在Python中查找文件或目录的所有者

我需要在Python中找到文件或目录的所有者的函数或方法。 该函数应该如下所示:>>> find_owner("/home/somedir/somefile") owner3

10得票1回答
Entry::Occupied.get()返回引用当前函数拥有的数据,尽管哈希表应该拥有所有权。

我的目标是在Rust书第13.1章中实现对cacher结构的建议改进,即创建一个结构体,它接受一个函数并使用记忆化技术来减少调用给定函数的次数。为了实现这一点,我创建了一个具有HashMap的结构体。 struct Cacher<T, U, V> where T: Fn(&amp...

21得票5回答
单独所有权 vs 共同所有权的含义

在阅读维基百科关于 RAII 时,我看到了 Single 和 Shared 所有权。 搜索了一下,但没有找到有用的答案! 能否有人为一个学生解释一下这个概念?

15得票2回答
如何在 Rust 中对向量元素运行循环并在循环内外更改向量?

我刚接触Rust。 我需要在for循环之前创建一个向量。 在其上运行for循环。 更改for循环中的向量。 然后在for循环之后更改向量。 我尝试了以下代码并尝试使用不可变借用,但两者都没有起作用。fn main() { let mut vec1 = vec![4, 5]; ...

32得票1回答
如何在结构体中正确存储不可变路径?

以下代码能够工作,但不确定是否正确。有几个问题: 我应该使用 Path 还是 PathBuf? 我应该使用 AsRef 吗? 我需要使用 PathBuf::from(path) 使路径被结构体拥有吗? 我应该使用 Path 还是 PathBuf? 我应该使用 AsRef 吗? 我...

7得票2回答
如何绑定装箱结构体的多个字段而不出现“使用已移动的值”错误?

我将尝试编写一个通用的递归数据结构。实际上,当我想要访问所拥有的结构值的多个字段时,我无法进行操作。 我定义了一个将保存列表的结构体: struct ListNode<T> { val: T, tail: List<T> } struct List...

22得票1回答
我该如何拥有一个Vec元素并将其替换为其他内容?

我正在编写一个以下格式的函数:fn pop<T>(data: &mut Vec<Option<T>>) -> Option<T> { // Let the item be the current element at hea...

14得票1回答
为什么在 Rust 的 `Cell<T>` 中,`set` 方法明确丢弃旧值?

为什么在Cell上定义的set方法,在最后一行明确地删除了old值?难道函数返回时不会自动释放内存吗? use std::mem; use std::cell::UnsafeCell; pub struct Cell&lt;T&gt; { value: UnsafeCell&lt;...

12得票2回答
类型String没有实现From<&String> trait。

我正参考 这篇 文章尝试撰写一个接收 String 和 &amp;str 两种类型参数的函数,但是我现在遇到了一个问题。我有以下的函数:pub fn new&lt;S&gt;(t_num: S) -&gt; BigNum where S: Into&lt;String&gt; { le...