I rust kan vi bestemme størrelsen på en spesifikk type ved hjelp av størrelse_ av -funksjonen. Denne funksjonen er i Core :: Mem :: Size_of og tar en type og returnerer størrelsen i byte.
La oss lære å bruke størrelsesfunksjonen for å bestemme størrelsen på forskjellige typer rust.
Ruststørrelse på primitive typer
Vi kan bestemme størrelsen på de rustprimitive typene ved å bruke størrelse_offunksjonen. Den generelle syntaks for størrelse_ av -funksjonen er som vist nedenfor:
pub const fn size_ofSom nevnt vil funksjonen returnere størrelsen på den spesifiserte typen i byte. Rust sier at størrelsen på en type ikke er stabil i krysssamlinger bortsett fra primitive typer.
La oss bruke følgende eksempel for å bestemme størrelsen på en boolsk type:
Bruk std :: mem;Eksempelprogrammet importerer minnemodulen fra standardbiblioteket. Dette gir oss tilgang til størrelse_offunksjonen for å bestemme størrelsen på en bool.
Deretter kaller vi funksjonen inne i Println -metoden og returnerer størrelsen på en boolsk type.
Den resulterende utgangen er som vist nedenfor:
$ Cargo RunVi kan gjøre dette for alle andre primitive typer i rust. Et eksempel er gitt nedenfor:
Bruk std :: mem;Det ovennevnte enkle programmet bestemmer størrelsen på alle primitive typer i rustspråket. Et eksempel resulterende utgang er som vist:
Størrelse på bool: 1 byteRuststørrelse på strukturen
I rust bestemmes størrelsen på strukturer av en enkel algoritme:
Du kan lære mer om justeringen i ressursen som er gitt nedenfor:
https: // doc.Rust-Lang.org/stabil/std/mem/fn.Align_of.html
Et eksempel på størrelsen på en struktur er som vist nedenfor:
struct brukerDen forrige koden skal returnere størrelsen på strukturen som:
$ Cargo RunRuststørrelse på matrisen
Vi kan også bruke metoden Size_OF for å bestemme størrelsen på en matrise. Tenk på eksemplet som er gitt nedenfor:
Println!("Størrelse på matrisen er: byte", mem :: størrelse_of ::<[i32; 5]>())Det forrige eksemplet bestemmer størrelsen på en rekke i32 -typer og en lengde på 5. Den tilsvarende matrisen er som vist nedenfor:
La my_array: [i32; 5] = [1,2,3,4,5];Programmet skal returnere størrelsen på matrisen som:
Størrelsen på matrisen er: 20 byteRuststørrelse på pekeren
Følgende eksempel evaluerer størrelsen på en peker ved bruk av syntaks:
Println!("Størrelse på pekeren byte", mem :: størrelse_of ::<*const i32>());Den forrige koden returnerer størrelsen på en rå peker i en i32 -referanse. Den resulterende utgangen er gitt nedenfor:
Størrelse på peker8 byteKonklusjon
Denne artikkelen beskriver hvordan du kan bestemme størrelsen på forskjellige typer i rust, inkludert primitive typer, matriser, pekere og strukturer. Dessuten ble størrelse_offunksjonen diskutert i detalj. Vi håper du fant denne artikkelen nyttig. Sjekk den andre Linux -hint -artikkelen for flere tips og artikler.