- 528 名前:デフォルトの名無しさん mailto:sage [2023/10/20(金) 09:27:32.12 ID:/M3RKJCH.net]
- >>516
クソでたらめだが真面目に実装するとマジ面倒 >>515 方式だと #[derive(Debug)] struct Hoge {a: u8, b: u8, c: u8} impl Hoge { pub fn new(a: u8, b: u8, c: u8) -> Self {Hoge{a, b, c}} } fn main() { let hoge: Vec<Hoge> = vec![Hoge::new(1, 2, 3), Hoge::new(4, 5, 6), Hoge::new(7, 8, 9)]; println!("{:?}", hoge); let mut p = &hoge[0] as *const Hoge as usize; p += 2 * std::mem::size_of::<Hoge>(); unsafe { std::slice::from_raw_parts_mut(p as *mut Hoge, 1)[0] = Hoge::new(8, 3, 1); } println!("{:?}", hoge); } >>514 方式だと let p = &hoge[0] as *const Hoge as *mut Hoge; unsafe { std::slice::from_raw_parts_mut(p, 3)[2] = Hoge::new(8, 3, 1); } でちょっとマシになるくらい
|

|