FreeBASIC マニュアルのトップに戻る

FreeBASIC Offsetof

目次→その他→その他の予約語OFFSETOF←オリジナル・サイト

OFFSETOF 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

型の中で項目のオフセットを返します。

構文:
#define Offsetof(typename, fieldname) cint( @cast( typename ptr, 0 )->fieldname )

用法:
result = Offsetof( typename, fieldname )

パラメタ:
typename
型の名前で、Type...End Type を使って定義されます。
fieldname
項目の名前で、型の中で定義されます。あるいは、派生型用の基底型内に定義されます。

記述:
非派生型について、Offsetof は、typename の頭から、バイトでずらした位置の fieldname を返します。

派生型については、Offsetof は、その最も高い基底型の、始めからバイトだけずらした位置 fieldname を返します。
注: 基底型のメンバーが、新メンバーによって覆される場合、古いメンバーのオフセットは、派生型からアクセスすることができません。

例:
Type MyType
  x As Single
  y As Single
  Union
    b As Byte
    i As Integer
  End Union
End Type

Print "OffsetOf x = "; OffsetOf(MyType, x)
Print "OffsetOf y = "; OffsetOf(MyType, y)
Print "OffsetOf b = "; OffsetOf(MyType, b)
Print "OffsetOf i = "; OffsetOf(MyType, i)
Sleep



出力
OffsetOf x =  0
OffsetOf y =  4
OffsetOf b =  8
OffsetOf i =  8

方言差:

QBからの違い:

参照:
その他の予約語に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2016-03-13 04:58:40
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall

ホームページのトップに戻る

表示-非営利-継承