Функция size_of
Функция size_of возвращает размер типа в байтах
в виде значения типа usize. Параметром функция
принимает тип, размер которого нужно узнать.
Функция является безопасной, но относится к разделу
unsafe, так как тесно связана с низкоуровневыми
операциями и работой с памятью.
Синтаксис
std::mem::size_of::<T>()
Пример
Давайте узнаем размер типа i32:
fn main()
{
let res = std::mem::size_of::<i32>();
println!("{}", res);
}
Результат выполнения кода:
4
Пример
Давайте узнаем размер типа u64:
fn main()
{
let res = std::mem::size_of::<u64>();
println!("{}", res);
}
Результат выполнения кода:
8
Пример
Давайте узнаем размер пользовательской структуры:
struct Point
{
x: i32,
y: i32,
}
fn main()
{
let res = std::mem::size_of::<Point>();
println!("{}", res);
}
Результат выполнения кода:
8
Пример
Давайте сравним размеры нескольких типов:
fn main()
{
println!("{}", std::mem::size_of::<u8>());
println!("{}", std::mem::size_of::<u16>());
println!("{}", std::mem::size_of::<u32>());
println!("{}", std::mem::size_of::<u64>());
}
Результат выполнения кода:
1
2
4
8
Смотрите также
-
функция
size_of_val,
которая возвращает размер значения в байтах -
функция
align_of,
которая возвращает выравнивание типа в байтах -
функция
align_of_val,
которая возвращает выравнивание значения в байтах -
тип
Layout,
который описывает расположение блока памяти