Практика на небезопасный код в Rust
Дано число:
let num = 3;
Объявите переменную с литералом, сохраните
адрес в *const i32 и выведите значение
из небезопасного блока.
Дано число:
let num = 14;
Сначала прочитайте число по сырому указателю
в переменную n внутри блока, затем
выведите n обычной записью печати
уже снаружи блока.
Дано число:
let num = 22;
Две переменные хранят этот литерал и
удвоенное значение. Сравните вывод при
чтении каждой через свой *const i32
в одном небезопасном блоке.
Дано число:
let num = 8;
Переменная a равна литералу. Скажите,
что напечатает программа, если в блоке
прочитать a по указателю сразу
после присваивания адреса.
Дано число:
let num = 30;
Сохраните литерал в let-переменной,
передайте адрес в сырой указатель и
опишите словами, почему чтение допустимо
только внутри блока, хотя адрес получили
снаружи.
Дано число:
let num = 5;
Напишите короткую программу, которая
выводит этот литерал, читая его только
из живой локальной переменной через
*const i32.