rust持续学习 raw pointer 1

c里头

c 复制代码
float a = 1;
float* p = &a;
是可以直接
int * p1 = (int*)p;
来强转类型做一些事情的

经过了解

rust里是这么操作的

rust 复制代码
 unsafe {
    std::mem::transmute::<origin_type, target_type>(raw_bytes)
};

比如上面是四个u8,可以拼一个u32

然后是函数指针这个东西

rust 复制代码
fn foo()->i32这样的函数,要先foo as *const()转换为裸指针raw_ptr
unsafe肯定的,然后let target_fn = std::mem::transmute::<*const (), fn() -> i32>(raw_ptr);

文档说这个做法不是每个机器都能移植

emmm所以知道能这样写就行,尽量别这样写

oh 对了,指针的获得方式就是let p = &some_value as const or mut type
就是原本是mut就改成
mut,原本是immutable就改成
const

example

rust 复制代码
let a= 5;
let p = &a as *const i32;
let mut a = 5;
let p = &mut a as *mut i32;
相关推荐
atunet13 小时前
关于算法优化的渐进式重构与代码级实践的技术7
算法
小弥儿14 小时前
GitHub今日热榜 | 2026-07-05:阿里巴巴浏览器Agent上榜
学习·开源·github
‿hhh14 小时前
Dify核心模块详解:从文本生成到智能体
人工智能·学习·microsoft·agent·上下文·记忆
霖大侠14 小时前
Decoupled and Reusable Adaptation for Efficient Cross-Modal Transfer
人工智能·深度学习·算法·机器学习·transformer
Sunsets_Red14 小时前
浅谈博弈论
c++·学习·编程·博弈论·信息学竞赛·巴巴博弈
凉、介14 小时前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
海兰14 小时前
【AI编程思考:第六篇】学习记忆与 Agent 状态:让 AI 真正“记得”你
人工智能·学习·ai编程
米沙AI15 小时前
Rust001--08字符串高级操作
rust
独孤留白15 小时前
从C到Rust:容器,容器,容器,Index和Iterator这两口糖甜不甜?
rust