In Rost können wir die Größe eines bestimmten Typs unter Verwendung der Size_of -Funktion bestimmen. Diese Funktion ist in Core :: mem :: size_of und nimmt einen Typ und gibt seine Größe in Bytes zurück.
Lassen Sie uns lernen, wie Sie die Funktion Size_of verwenden, um die Größe verschiedener Typen in Rost zu bestimmen.
Rostgröße primitiver Typen
Wir können die Größe der Rostprimitiventypen anhand der Size_of -Funktion bestimmen. Die allgemeine Syntax der size_of -Funktion ist wie unten gezeigt:
Pub const fn size_ofWie bereits erwähnt, gibt die Funktion die Größe des angegebenen Typs in Bytes zurück. Rost gibt an, dass die Größe eines Typs in Kreuzkompikationen außer primitiven Typen nicht stabil ist.
Verwenden wir das folgende Beispiel, um die Größe eines Booleschen Typs zu bestimmen:
Verwenden Sie std :: mem;Das Beispielprogramm importiert das Speichermodul aus der Standardbibliothek. Dies gibt uns Zugriff auf die size_of -Funktion, um die Größe eines Bools zu bestimmen.
Dann rufen wir die Funktion innerhalb der Println -Methode auf und geben die Größe eines booleschen Typs zurück.
Die resultierende Ausgabe ist wie unten gezeigt:
$ FrachtlaufWir können dies für alle anderen primitiven Typen im Rost tun. Nachfolgend finden Sie ein Beispiel:
Verwenden Sie std :: mem;Das oben genannte einfache Programm bestimmt die Größe aller primitiven Typen in der Rostsprache. Ein Beispiel, das sich daraus ergibt, ist wie gezeigt:
Größe von Bool: 1 ByteRostgröße der Struktur
In Rost wird die Größe der Strukturen durch einen einfachen Algorithmus bestimmt:
Sie können mehr über die Ausrichtung in der unten angegebenen Ressource erfahren:
https: // doc.Rost-Lang.org/stabil/std/mem/fn.Align_of.html
Ein Beispiel für die Größe einer Struktur ist wie unten gezeigt:
Struktur BenutzerDer vorherige Code sollte die Größe der Struktur als:
$ FrachtlaufRostgröße des Arrays
Wir können auch die Methode Size_of verwenden, um die Größe eines Arrays zu bestimmen. Betrachten Sie das unten angegebene Beispiel:
println!("Größe des Arrays ist: Bytes", mem :: size_of ::<[i32; 5]>())Das vorherige Beispiel bestimmt die Größe eines Arrays von i32 -Typen und eine Länge von 5. Das äquivalente Array ist wie unten gezeigt:
lass my_array: [i32; 5] = [1,2,3,4,5];Das Programm sollte die Größe des Arrays als:
Die Größe des Arrays beträgt: 20 BytesRostgröße des Zeigers
Das folgende Beispiel bewertet die Größe eines Zeigers unter Verwendung der Syntax:
println!("Größe des Zeigers Bytes", mem :: size_of ::<*const i32>());Der vorherige Code gibt die Größe eines Rohzeigers in einer i32 -Referenz zurück. Die resultierende Ausgabe ist unten angegeben:
Größe von Zeiger8 -BytesAbschluss
In diesem Artikel wird beschrieben. Außerdem wurde die Size_of -Funktion ausführlich besprochen. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Artikel finden Sie im anderen Linux -Hinweis -Artikel.