Rust 強制類型轉換 使用as 將 不變 變成 可變

fn g(&self)->&mut Self{
        unsafe {  & mut * ( self as * const Self as * mut Self)}
    }
as 只能轉換基本數據類型 ,結構體類型 只能轉換指針,
     不能轉換結構體引用,應該是結構體引用也被視爲了複雜的結構體類型。

變量聲明 * 表示指針
 let i:* mut Struct_A ;  指針 i 指向 結構體的內容,並且內容可變
let i:* const Struct_A ;  指針 i 指向 結構體的內容,並且內容不可變
指向的內容可變和不可變
指針的可變和不可變,即 指針 所代表的地址 是否 可否 重新 指向新的地址

引用 看做 別名 ,其實質 仍是 指針 指向,避免內容複製

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章