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