rust的const

2023-12-09  本文已影响0人  wangfp
struct T();

const C: T = T();

fn main() {
    let a = C;  // 可以通过编译,虽然T没有实现Copy trait
    println!("&a=0x{:x}", &a as *const _ as usize);
    let b = C;  // 可以通过编译,虽然T没有实现Copy trait
    println!("&b=0x{:x}", &b as *const _ as usize);
    let c = a;  // 因为T没有实现Copy trait,因此是一个move操作
    println!("&a=0x{:x}", &a as *const _ as usize);  // 编译报错,因为a的所有权已经被移动
    println!("&c=0x{:x}", &c as *const _ as usize);
}
上一篇下一篇

猜你喜欢

热点阅读