Untitled

 avatar
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