crossbeam_epoch::Shared::as_raw 和 "Converts the pointer to a raw pointer (without the tag)" 是什么意思?
What does crossbeam_epoch::Shared::as_raw mean by "Converts the pointer to a raw pointer (without the tag)"?
有人可以将 this 翻译成对我来说有意义的东西吗:
Converts the pointer to a raw pointer (without the tag).
指针和原始指针有什么区别?
Stack Overflow raw-pointer 标签既没有说“智能”也没有说“共享”,这又是一个谜。
Crossbeam Shared::as_raw
的“标签”是什么?
crossbeam_epoch::Shared
是一个 智能指针 。也就是说,一个指针加上额外的东西。在 C++ 或 Rust 中,智能指针 是用于指针包装器的术语,它添加了以下任何一项:
- 所有权信息
- 生命周期信息
- 在未使用的位中打包额外数据
- Copy-on-write 行为
- 引用计数
在这种情况下,原始 指针只是包装指针,没有所有额外的东西。
crossbeam_epoch::Shared
适合(除其他外)上面的“在未使用的位中打包额外数据”类别。现代计算机中的大多数数据都是对齐的,也就是说,地址是 2 的某个幂的倍数。这意味着地址的所有低位始终为 0。可以利用这一事实在指针中存储一些额外的信息位。
此特定库调用此额外数据 tag,但该术语不像 原始指针.
那样常见
有人可以将 this 翻译成对我来说有意义的东西吗:
Converts the pointer to a raw pointer (without the tag).
指针和原始指针有什么区别?
Stack Overflow raw-pointer 标签既没有说“智能”也没有说“共享”,这又是一个谜。
Crossbeam
Shared::as_raw
的“标签”是什么?
crossbeam_epoch::Shared
是一个 智能指针 。也就是说,一个指针加上额外的东西。在 C++ 或 Rust 中,智能指针 是用于指针包装器的术语,它添加了以下任何一项:- 所有权信息
- 生命周期信息
- 在未使用的位中打包额外数据
- Copy-on-write 行为
- 引用计数
在这种情况下,原始 指针只是包装指针,没有所有额外的东西。
crossbeam_epoch::Shared
适合(除其他外)上面的“在未使用的位中打包额外数据”类别。现代计算机中的大多数数据都是对齐的,也就是说,地址是 2 的某个幂的倍数。这意味着地址的所有低位始终为 0。可以利用这一事实在指针中存储一些额外的信息位。此特定库调用此额外数据 tag,但该术语不像 原始指针.
那样常见