首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时使用托管指针和拥有指针

同时使用托管指针和拥有指针
EN

Stack Overflow用户
提问于 2013-09-13 08:47:57
回答 2查看 144关注 0票数 0

我想理解一下"12 Dereferencing pointers" of Rust教程中的以下代码片段的含义:

代码语言:javascript
复制
let point = &@~Point { x: 10f, y: 20f };
println(fmt!("%f", point.x));

特别是@~是什么意思?

EN

回答 2

Stack Overflow用户

发布于 2013-09-13 14:22:54

它只是多个指针获取运算符的应用程序。你可以用大括号把它看得更清楚(虽然我不知道它是否是有效的Rust代码):

代码语言:javascript
复制
&(@(~Point { x: 10f, y: 20f }))

这实际上是一个指向托管框的借用指针,其中包含指向结构的唯一指针。

当然,这样的东西在真实的代码中是无用的,但它演示了取消引用的概念。

票数 2
EN

Stack Overflow用户

发布于 2013-09-17 03:20:32

该表达式是对托管指针的引用,该托管指针指向指向Point的所属指针。

上面的句子给出了一个很好的提示:

您可以编写一个表达式,自动取消对任意数量的指针的引用。例如,如果你觉得有倾向性,你可以写一些愚蠢的东西,比如

它只是为了证明你可以有一个指向某物的指针。这段代码当然是愚蠢的,因为这段代码没有很好地利用这个概念,它只是为了展示语法。

有关指针的更多信息,您可能会喜欢这个问题:How do pointer to pointers work in C?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18776499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档