lifetime 相关问题

变量的生命周期是变量绑定到特定内存位置的时间。生命时间在分配变量时开始,在解除分配时结束。

为什么我不能在同一个结构中存储值和对该值的引用?

我有一个值,我想在我自己的类型中存储该值和对该值内部内容的引用:struct Thing {count:u32,} struct Combined(Thing,&'a u32); fn ......

回答 2 投票 174

为什么对const的静态引用返回对临时变量的引用?

在Rust中我有以下代码:pub trait测试:大小{const CONST:Self; fn static_ref() - >&'static Self {&Self :: CONST}}我的期望是因为const是......

回答 2 投票 2

向矢量添加临时值时的生命周期

我在尝试理解Rust生命周期在某些情况下如何工作时遇到了一些问题,如下所示。我不能让它工作,但我不知道为什么。 struct Bar {value:&'static str,} struct ...

回答 1 投票 3

为什么在C中允许的函数中返回堆栈分配的指针变量?

我已经阅读了后面的帖子:从函数OK返回堆分配的指针?这表明返回指向堆分配变量的指针是正常的。但是,指针是......

回答 5 投票 3

如何指定生命周期,使得本地引用值与传入的引用不同?

我正在创建一个本地结构(第二个),它包含对局部变量(包装器)的引用。反过来,该局部变量引用更长的寿命('a)。我如何显示编译器,...

回答 1 投票 1

返回后释放一次性变量

我有一个应该在Windows控制台上监听输入的函数。它使用conio.h。它每秒会被调用大约20次。怎样才能防止记忆被堵塞?就我而言......

回答 1 投票 1

在Rust中返回递归闭包

我有以下高阶函数fn ensure_tonicty(tone_fn:&fn(&f64,&f64) - > bool) - > impl Fn(&Vec) ) - > bool {return | floats:&Vec | -...

回答 1 投票 2

为什么尝试访问React组件的类名导致ReferenceError?

这是我在index.js中的React组件:import来自'react'的React来自'react-dom'的ReactDOM类App扩展了React.Component {render(){return( ...

回答 1 投票 0

为什么生命周期不能在结构定义中被省略?

struct Point {x:u32,y:u32,} struct Line {start:&'a Point,end:&'a Point,}这里,开始和结束字段唯一可能的选项是生命周期......

回答 2 投票 9

为什么我可以返回对函数的拥有值的引用?

在Rust编程语言的第19.2章中,以下示例编译时没有任何错误。我从问题#1834中发现,有一个新的终身省略规则隐含地使......

回答 3 投票 1

如何从HashSet形成切片?

结构定义为:struct Node {set:HashSet ,//其他字段省略}我必须为特征实现一个函数(兼容性问题),需要返回所有...

回答 2 投票 2

从另一个线程访问具有自动存储持续时间的对象

我偶然发现了这个问题:线程访问另一个线程的堆栈。链接的问题是关于普通的C,但我的主要语言是C ++,所以我试图找出相同的规则是否适用于C ++。我找到了这个 ...

回答 1 投票 5

如何在关闭时添加生命周期参数而不返回引用

假设你有一个函数返回一个适用于引用的闭包。当然,引用后面的对象必须至少与闭包被调用一样长。这是一个非常简单的例子,其中......

回答 1 投票 0

在闭包内通过引用保存值

鉴于以下示例,我想在我的闭包中使用z作为引用:struct Foo {x:Box ,y:盒子 ,} impl&...

回答 1 投票 1

为什么需要在方法之间进行静态变量传递而不需要在同一个方法中?

我想在main()提供的port和dao参数的函数中启动Hyper服务器,但该函数仅在我明确指出'static lifetime之后才有效。这让我很困惑。 ...

回答 1 投票 1

如何在匹配分支内分配匹配表达式中使用的变量?

我正在尝试实现一个可以在迭代器的任何迭代器上工作的通用函数join()。我在next()方法实现中的匹配表达式中遇到了借用检查器的问题。 ...

回答 2 投票 1

变量的持续时间不足以通过通道发送

我正在尝试通过频道发送包含Cow的消息。但是,终身规则不允许我传递它。使用std :: borrow :: Cow;使用std :: sync :: mpsc; #[derive(Debug,...

回答 1 投票 1

为什么这一生不会比关闭更长寿?

我正在追逐一个编译器bug并发现以下示例trait Lt {type T; } impl Lt for(){type T =&'a(); } fn test(){let _:fn(

回答 1 投票 1

从作为参数传递给函数的引用返回内部引用时的生命周期处理

尽管生命周期'a'和'b彼此独立,但下面的代码编译得很好的原因是什么? struct Foo {i:&'a i32} fn func(x:&'...

回答 3 投票 4

OOP Rust中的构造函数和setter中的值不够长

我有以下代码://! #Messages ///代表一条简单的短信。 pub struct SimpleMessage {pub user:&'a str,pub content:&'a str,} impl ...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.