运行此代码
extern crate debug;
fn main() {
let x = &5i;
println!("{:?}", x);
}
打印&5
。这个数据类型是如何调用的?我希望看到类似a pointer to int
的内容。
rustc 0.12.0-pre-nightly (09abbbdaf 2014-09-11 00:05:41 +0000)
答案 0 :(得分:2)
&5i
的类型为&int
,称为对int
的引用,或者可能是共享引用或不可变引用。
顺便说一句,"{:?}"
根据反射产生值的表示,而不是类型的表示。我知道获取类型名称的唯一方法是将其置于类型错误中。
fn main() {
let i = &5i;
let () = i;
}
但即便如此,你只能提到&int
和&-ptr
而不是政治上正确的,最新的共同社区用语,散文描述。