kkonghao 发表于 2021-11-21 23:36
求问大佬在rust中对一个变量赋值()值和引用()分别是什么含义?主要是用来做什么?代码如下:
let a=(); let b=&(); let c=*const ();
这个例子直接 foo as fn() -> i32 就好了,不需要取指针走 transmute 绕一圈的。
foo as fn() -> i32
-- 👇 kkonghao: rust在()这里总能玩出点新花样,比如,新手看起来有点懵逼
fn foo() -> i32 { 0 } fn main() { let pointer = foo as *const (); let function = unsafe { std::mem::transmute::<*const (), fn() -> i32>(pointer) }; println!("{}", function()); }
-- 👇 Mike Tang: 空 tuple
&() 主要是在某些场景下类型的一致性。
*const 是常量指针
单独拿出来讲,看不出什么意义,要放具体场景中来讲。
rust在()这里总能玩出点新花样,比如,新手看起来有点懵逼
空 tuple
评论区
写评论这个例子直接
foo as fn() -> i32
就好了,不需要取指针走 transmute 绕一圈的。--
👇
kkonghao: rust在()这里总能玩出点新花样,比如,新手看起来有点懵逼
--
👇
Mike Tang: 空 tuple
&() 主要是在某些场景下类型的一致性。
*const 是常量指针
单独拿出来讲,看不出什么意义,要放具体场景中来讲。
rust在()这里总能玩出点新花样,比如,新手看起来有点懵逼
--
👇
Mike Tang: 空 tuple
&() 主要是在某些场景下类型的一致性。
*const 是常量指针
单独拿出来讲,看不出什么意义,要放具体场景中来讲。
空 tuple
&() 主要是在某些场景下类型的一致性。
*const 是常量指针
单独拿出来讲,看不出什么意义,要放具体场景中来讲。