文書   >   Swift 標準ライブラリ > Manual Memory Management   >   MemoryLayout


汎用列挙型


MemoryLayout


型のメモリレイアウト。その size、stride、および alignment を記述します。





概観


安全でないポインタ (unsafe pointers) を使用してメモリーを割り振りまたは結合するとき、型に関する情報のソースとして MemoryLayout を使用できます。以下の例では、x 座標と y 座標を持つ Point 型と Boolean 値の isFilled プロパティを宣言しています。



struct Point {
    let x: Double
    let y: Double
    let isFilled: Bool
}



Point 型の size、stride および alignment は、MemoryLayout<Point> の静的プロパティとしてアクセスできます。



// MemoryLayout<Point>.size == 17
// MemoryLayout<Point>.stride == 24
// MemoryLayout<Point>.alignment == 8



メモリを割り当てるとき、またはメモリ内のインスタンス間の距離を考慮するときは、常に size の代わりに複数の型の stride を使用します。この例では、型の指定されていない (untyped) 初期化されていないメモリに Point の4つのインスタンスのスペースを割り当てています。


トピックス




型プロパティ




型メソッド




目次
Xcode 9 の新機能

言語        Swift

SDK
Xcode 8.0+
フレームワーク
Swift 標準ライブラリ


MemoryLayout
概観
トピックス












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)












トップへ(MemoryLayout リファレンス)