let mut x = 0;
let r = &x;
println!("{r}");
let r = &mut x;
*r = 1;
let r = &x;
println!("{r}");
struct Example<'a> {
value: &'a u32,
}
impl<'a> Drop for Example<'a> {
fn drop(&mut self) {}
}
let mut x = 0;
let ex = Example { value: &x };
let r = &mut x; // ошибка, эта ссылка не уникальна
На диаграммах изображена структура формата указатель, длина и вес (это хранится в куче), а уже указатель ссылается на память в стеке в случае строкового литерала или любого числа, и на кучу если это String - это понятно.
Но в таком случае должна была бы вернуться стуктура побайтово, то есть указатель, длина и вес, а возвращаются данные на которые указатель указывает, поэтому я запутался.Вы так и не показали, на чём вызываете метод.
use as_bytes::AsBytes as _;
#[repr(C)]
struct Example {
a: u8,
b: u8,
c: u8,
d: u8,
}
let example = Example {
a: 1,
b: 2,
c: 3,
d: 4,
};
let example_bytes = unsafe { example.as_bytes() };
println!("{example_bytes:?}"); // [1, 2, 3, 4]
то есть она возвращает слайс байт, то как структура в памяти выглядит?
) учитывать, ибо он тоже может return делать for (let i = 1; i++; ) {
if (i > 9) break;
console.log(i);
}
let i = 1;
while (i < 10) {
console.log(i);
++i;
}
как по оффсетам поля игр изменяют?Идут к ядру ОС и говорят, а дай таблицу виртуальных адресов вот такого процесса, а что вон в том адресе у этого процесса и т.д.
там только учебные проекты
Ziptar, может это просто не Ваше?
А я и не говорил про "с нуля", сейчас столько средств собрать проект из кусочков и это как нестранно тоже программирование.