91得票1回答
println! 借用还是拥有变量?

我对借用和所有权感到困惑。在 Rust 的关于引用和借用的文档中。let mut x = 5; { let y = &mut x; *y += 1; } println!("{}", x); 他们说 println! 可以借用 x。 我对此感到困惑。如果 p...

82得票4回答
__weak引用和__block引用有什么区别?

我正在阅读Xcode的文档,这里有一些令我困惑的内容:__block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; 以下内容摘自官方文档: 块会对其...

56得票2回答
在Rust中如何将Vec<String>转换为&str切片?

根据Steve Klabnik在Rust 1.0文档之前的写作中关于String和&amp;str之间区别的文章, 在Rust中,除非你真正需要拥有一个String,否则应该使用&amp;str。同样地,建议使用对切片(&amp;[])的引用而不是Vec,除非你真正需要拥有Vec。 我有一个...

48得票1回答
如何在Rust中以最惯用的方式将Option<&T>转换为Option<T>?

当我使用HashMap的get方法时,返回了一个Option&lt;&amp;T&gt;值,这次我又遇到了Option&lt;&amp;String&gt;。我想获得拥有所有权的Option&lt;String&gt;值。有没有不用写map(|x| x.to_owned())的方法来实现呢? ...

47得票6回答
Rust中的移动语义是什么?

在Rust中,有两种可能性可以引用一个值: 1. 借用(Borrow),即引用但不允许修改引用的目标。&运算符从一个值中借用所有权。 2. 可变借用(Borrow mutably),即引用以修改目标。&mut运算符从一个值中可变地借用所有权。 Rust文档对于借用规则的说明如下: 首先...

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

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

36得票1回答
可变引用是否具有移动语义?

fn main() { let mut name = String::from(&quot;Charlie&quot;); let x = &amp;mut name; let y = x; // x has been moved say_hello...

35得票3回答
在Rust中实现类似图的数据结构

我有一个数据结构,可以表示为一些结构体之间的单向图,这些结构体通过链接对象相互连接,因为链接包含元数据。 它看起来像这样: struct StateMachine { resources: Vec&lt;Resource&gt;, links: Vec&lt;Link&gt...

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

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

31得票1回答
将std::vector< std::unique_ptr<int> >的所有权正确地转移给正在构建的类的方法

如何将一个 std::vector&lt;unique_ptr&lt;int&gt; &gt; 的所有权转移给正在构建的类?以下是我想要做的代码表示。我意识到它不正确(无法编译),无论我是按值传递还是引用传递向构造函数传递向量都违反了“唯一性”。我希望Foo成为向量的新所有者,并希望调用函数放...