Rust是否会跟踪唯一的对象ID,我们可以打印它们吗?

克里斯多夫

Rust是否对幕后的每个对象都使用某种实例ID,如果可以,可以使它可见吗?

考虑一下

struct SomeStruct;

fn main() {
    let some_thing = SomeStruct;
    println!("{:UniqueId}", some_thing);
    let another = some_thing;
    println!("{:UniqueId}", another);
}

我在这里使用伪格式字符串{:UniqueId}在这种情况下,它可能会打印

4711
4712

我知道Rust会按位复制,我想让它真正可见。如果我有这样的实例ID,则可以通过比较ID使其可见。

不过,可能还有另一种方法可以达到相同目的。

Shepmaster

不,Rust没有任何对象自动生成的ID。这种功能会给每个用户带来一些开销,Rust希望尽可能少地施加开销。其他所有内容都应选择加入。


据我所知,一个项目的地址是唯一的:

struct SomeStruct;

fn main() {
    let some_thing = SomeStruct;
    println!("{:p}", &some_thing);
    let another = some_thing;
    println!("{:p}", &another);
}
0x7ffc020ba638
0x7ffc020ba698

万物1占用某处的空间,因此您可以获取该空间的地址并进行打印。

在某些情况下,这可能独特了。例如,当您转移项目的所有权时,您可能希望ID保持不变。我认为在这种情况下,您必须自己动手。在创建对象时可以从中获取诸如全局原子变量之类的东西这样的方案不适用于您无法控制的对象。


1-好吧,几乎所有东西。我知道const不能保证物品具有位置,这就是为什么static物品存在的原因

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我们可以在同一面板中使用“ Shiny”打印或绘图吗?

来自分类Dev

确定字符串是否已被修改的过程会导致性能下降吗?如果是这样,我们可以进一步优化它吗?

来自分类Dev

我们是否可以使用其他唯一约束作为数据库中的主键,例如电话号码或国家/地区ID

来自分类Dev

为什么我们使用SKU,因为我们拥有唯一的ID

来自分类Dev

我们可以通过指向其基类之一的指针执行删除对象吗?

来自分类Dev

我们可以在同一个对象中实现多个 QtRO 接口吗?

来自分类Dev

我们可以创建一个没有括号的对象吗?

来自分类Dev

Python:我们可以像 ts 一样从 dict 或对象中获取值吗?

来自分类Dev

我们可以重用Gson对象吗?

来自分类Dev

我们可以在文件中存储多个对象吗?

来自分类Dev

我们可以创建抽象类的对象吗?

来自分类Dev

我们可以从DAO层返回json对象吗?

来自分类Dev

我们可以重载类对象的行为吗

来自分类Dev

我们可以在对象中接收@RequestParam吗

来自分类Dev

我们可以在文件中存储多个对象吗?

来自分类Dev

我可以使用LINQ来检查列表中的对象是否具有唯一ID吗?

来自分类Dev

我们可以在 WSO2 身份服务器中添加声明以获得唯一值吗?

来自分类Dev

我们可以在包含空值的唯一列上设置外键吗?

来自分类Dev

我们可以使用Google Earth插件API中的KML对象ID缩放到KML地标对象吗?

来自分类Dev

microsoft bot 或 luis 是否提供了一个界面来跟踪失败的交互并让我们将它们映射到正确的意图?

来自分类Dev

我们可以使用一个RowMapper对象而不是每次创建对象来获取结果吗?

来自分类Dev

我们可以通过WEB / REST API访问Apple Watch跟踪数据吗?

来自分类Dev

我们可以使用直方图进行颜色基准跟踪吗?

来自分类Dev

我们可以从两个类的限制中推断出它们的关系吗?

来自分类Dev

我们可以从CDN引用角度2文件,而不是从nodejs安装它们吗?

来自分类Dev

我们可以使用RTTI来按名称查找函数/过程并运行它们吗?

来自分类Dev

我们可以提供测试数据而不标记它们吗?

来自分类Dev

是否可以跨包继承?另外,我们如何编译它们?

来自分类Dev

那么我们可以将虚拟函数与分配在堆栈上的对象一起使用吗?

Related 相关文章

  1. 1

    我们可以在同一面板中使用“ Shiny”打印或绘图吗?

  2. 2

    确定字符串是否已被修改的过程会导致性能下降吗?如果是这样,我们可以进一步优化它吗?

  3. 3

    我们是否可以使用其他唯一约束作为数据库中的主键,例如电话号码或国家/地区ID

  4. 4

    为什么我们使用SKU,因为我们拥有唯一的ID

  5. 5

    我们可以通过指向其基类之一的指针执行删除对象吗?

  6. 6

    我们可以在同一个对象中实现多个 QtRO 接口吗?

  7. 7

    我们可以创建一个没有括号的对象吗?

  8. 8

    Python:我们可以像 ts 一样从 dict 或对象中获取值吗?

  9. 9

    我们可以重用Gson对象吗?

  10. 10

    我们可以在文件中存储多个对象吗?

  11. 11

    我们可以创建抽象类的对象吗?

  12. 12

    我们可以从DAO层返回json对象吗?

  13. 13

    我们可以重载类对象的行为吗

  14. 14

    我们可以在对象中接收@RequestParam吗

  15. 15

    我们可以在文件中存储多个对象吗?

  16. 16

    我可以使用LINQ来检查列表中的对象是否具有唯一ID吗?

  17. 17

    我们可以在 WSO2 身份服务器中添加声明以获得唯一值吗?

  18. 18

    我们可以在包含空值的唯一列上设置外键吗?

  19. 19

    我们可以使用Google Earth插件API中的KML对象ID缩放到KML地标对象吗?

  20. 20

    microsoft bot 或 luis 是否提供了一个界面来跟踪失败的交互并让我们将它们映射到正确的意图?

  21. 21

    我们可以使用一个RowMapper对象而不是每次创建对象来获取结果吗?

  22. 22

    我们可以通过WEB / REST API访问Apple Watch跟踪数据吗?

  23. 23

    我们可以使用直方图进行颜色基准跟踪吗?

  24. 24

    我们可以从两个类的限制中推断出它们的关系吗?

  25. 25

    我们可以从CDN引用角度2文件,而不是从nodejs安装它们吗?

  26. 26

    我们可以使用RTTI来按名称查找函数/过程并运行它们吗?

  27. 27

    我们可以提供测试数据而不标记它们吗?

  28. 28

    是否可以跨包继承?另外,我们如何编译它们?

  29. 29

    那么我们可以将虚拟函数与分配在堆栈上的对象一起使用吗?

热门标签

归档