2 5 Указатели и ссылки

Указатели это сущность, которая позволяет обращаться к какой-то переменной. Её применение не рекомендуется, вместо этого лучше использовать ссылки.

Типы указателей: * ptr общий тип

Привязка указателя к переменной

Для обращения к адресу переменной и для присвоения указателю используется один и тот же оператор $ Когда мы объявляем таким образом указатель - работа с ним выглядит как с обычной переменной. Таким образом нам не нужно менять весь код, если нам надо заменить указатель на прямое обращение и наоборот.

let const astr : string = "Hello world";
let const &aptr : ptr<string> = &astr;
print(aptr); // Напечатает hello world

Данный код показывает пример работы с указателем на строку.

Указатель на память (общий)

Мы также можем создать универсальный указатель на память. Для этого мы создадим переменную указателя (без &). Но чтобы обратиться к этой памяти нам придётся привести тип и привязать переменную какой-то переменной с конкретным типом.

let const aptr : ptr<mem> = 0x0178acdb;
let const &castedAptr : ptr<int64> = aptr;
println!(castedAptr);

Данный код считает по адресу памяти 0x0178acdb переменную типа целочисленной 64.

Итератор