自己参照バッファの例
「自己参照バッファ」とは、自身のフィールドの 1 つへの参照を持つ 型です:
// 著作権 2026 Google LLC
// SPDX-License-Identifier: Apache-2.0
pub struct SelfReferentialBuffer {
data: [u8; 1024],
cursor: *mut u8,
}
この種の構造は Rust では一般的ではありません。SelfReferentialBuffer の インスタンスが移動したときに、cursor のアドレスを更新する方法がないためです。
しかし、このような構成は、ガベージコレクションを提供する他の言語や、 ムーブやコピーの際の独自の振る舞いをユーザーが定義できる C++ では、 より自然です。
概要
segment outline