Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
57 of 1246 menu
◀ ▶

Тип isize

Тип isize представляет собой знаковое целое число, размер которого зависит от разрядности платформы: 32 бита на 32-битных системах и 64 бита на 64-битных системах. Этот тип удобно использовать для индексации, работы с длинами коллекций и арифметики указателей, поскольку его размер совпадает с размером адреса памяти.

Диапазон значений isize зависит от платформы. На 64-битной системе он составляет от -9223372036854775808 до 9223372036854775807. На 32-битной системе - от -2147483648 до 2147483647.

Синтаксис

let x: isize = 42;

Пример

Давайте объявим переменную типа isize и выведем её значение:

fn main() { let res: isize = 42; println!("{}", res); }

Результат выполнения кода:

42

Пример

Давайте узнаем размер типа isize в байтах на текущей платформе:

fn main() { let res = std::mem::size_of::<isize>(); println!("{}", res); }

Результат выполнения кода на 64-битной системе:

8

Пример

Давайте выполним арифметические операции с числами типа isize:

fn main() { let a: isize = 10; let b: isize = 3; let res = a - b; println!("{}", res); }

Результат выполнения кода:

7

Пример

Давайте используем isize в качестве индекса для доступа к элементу вектора:

fn main() { let arr = vec![1, 2, 3, 4, 5]; let index: isize = 2; let res = arr[index as usize]; println!("{}", res); }

Результат выполнения кода:

3

Смотрите также

  • тип usize,
    который представляет беззнаковое целое размером с указатель
  • тип i32,
    который представляет 32-битное знаковое целое число
  • тип i64,
    который представляет 64-битное знаковое целое число
  • тип i8,
    который представляет 8-битное знаковое целое число
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить