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 指向 结构体的内容,并且内容不可变
指向的内容可变和不可变
指针的可变和不可变,即 指针 所代表的地址 是否 可否 重新 指向新的地址
引用 看做 别名 ,其实质 仍是 指针 指向,避免内容复制