gpt4 book ai didi

pointers - crossbeam_epoch::Shared::as_raw由 “Converts the pointer to a raw pointer (without the tag)”表示什么?

转载 作者:行者123 更新时间:2023-12-03 11:41:07 26 4
gpt4 key购买 nike

有人可以将this转换成对我有意义的东西:

Converts the pointer to a raw pointer (without the tag).


  • 指针和原始指针有什么区别?
    堆栈溢出raw-pointer标签既没有说“智能”也没有说“共享”,这再次是令人迷惑的。
  • Crossbeam的Shared::as_raw的“标签”到底是什么?
  • 最佳答案

  • crossbeam_epoch::Shared是一个智能指针。也就是说,一个指针加上额外的东西。在C++或Rust中,智能指针是用于指针包装的术语,它会添加以下任何内容:
  • 所有权信息
  • 生命周期信息
  • 将多余的数据打包在未使用的位中
  • 写入时复制行为
  • 引用计数

  • 在这种情况下,原始指针只是包装的指针,没有所有额外的东西。
  • crossbeam_epoch::Shared适合(其中包括)上面的“将多余的数据打包在未使用的位中”类别。现代计算机中的大多数数据都是对齐的,即地址是2的幂的倍数。这意味着地址的所有低位始终为0。人们可以利用这一事实在指针中存储一些额外的信息位。
    这个特定的库将这些额外的数据称为tag,但是该术语并不像原始指针那样普遍。
  • 关于pointers - crossbeam_epoch::Shared::as_raw由 “Converts the pointer to a raw pointer (without the tag)”表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63549744/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com