Function std::ptr::hash

1.35.0 · source ·
pub fn hash<T, S>(hashee: *const T, into: &mut S)where
    S: Hasher,
    T: ?Sized,
Expand description

散列一个裸指针。

这可用于通过其地址而不是其指向的值 (Hash for &T 实现的作用) 对 &T 引用 (隐式强制为 *const T) 进行哈希处理。

Examples

use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};
use std::ptr;

let five = 5;
let five_ref = &five;

let mut hasher = DefaultHasher::new();
ptr::hash(five_ref, &mut hasher);
let actual = hasher.finish();

let mut hasher = DefaultHasher::new();
(five_ref as *const i32).hash(&mut hasher);
let expected = hasher.finish();

assert_eq!(actual, expected);
Run