コンテンツへスキップ

sizeof

sizeof式は、指定された型のバイト単位のサイズをInt32で返します。例:

sizeof(Int32) # => 4
sizeof(Int64) # => 8

Reference型の場合、サイズはポインタのサイズと同じです。

# On a 64-bit machine
sizeof(Pointer(Int32)) # => 8
sizeof(String)         # => 8

これは、Referenceのメモリがヒープ上に割り当てられ、それへのポインタが渡されるためです。クラスの有効なサイズを取得するには、instance_sizeofを使用します。

sizeofの引数はであり、typeofと組み合わせて使用されることがよくあります。

a = 1
sizeof(typeof(a)) # => 4