Untitled
unknown
plain_text
10 months ago
2.1 kB
17
Indexable
use std::mem::{size_of, size_of_val};
use std::num::NonZeroUsize;
fn main() {
// Task 1: Print sizes
println!("Size of &u8: {}", size_of::<&u8>());
println!("Size of Option<&u8>: {}", size_of::<Option<&u8>>());
println!("Size of usize: {}", size_of::<usize>());
println!("Size of Option<usize>: {}", size_of::<Option<usize>>());
println!("Size of NonZeroUsize: {}", size_of::<NonZeroUsize>());
println!("Size of Option<NonZeroUsize>: {}", size_of::<Option<NonZeroUsize>>());
// Optional: create values to use size_of_val
let x: &u8 = &10;
let y: Option<&u8> = Some(&10);
let z: usize = 42;
let w: Option<usize> = Some(42);
let n = NonZeroUsize::new(5).unwrap();
let m = Some(n);
println!("Size of x (&u8) using size_of_val: {}", size_of_val(&x));
println!("Size of y (Option<&u8>) using size_of_val: {}", size_of_val(&y));
println!("Size of z (usize) using size_of_val: {}", size_of_val(&z));
println!("Size of w (Option<usize>) using size_of_val: {}", size_of_val(&w));
println!("Size of n (NonZeroUsize) using size_of_val: {}", size_of_val(&n));
println!("Size of m (Option<NonZeroUsize>) using size_of_val: {}", size_of_val(&m));
}
}Editor is loading...
Leave a Comment