申し訳ありませんが、質問が明確でない場合。 1つの文章で説明するのはかなり難しいと感じました。struct定義のstructへのポインタを使う価値はいつですか?
私はstruct
のメンバーで、struct
です。次のようになります。
struct A {
struct B b;
};
私は、この構造体のインスタンスが常にヒープ割り当てされると考えています。これに変更することで得られるものはありますか?私はメモリの割り当てと割り当て解除の世話をすることになるようなmake_A
とfree_A
として機能するのカップルがb
によって指される必要があるだろう後者の場合(すなわちstruct B
にポインタを維持)
struct A {
struct B *b;
};
;
第2の形式が好ましいと思われる唯一の例は、struct A
のすべてのインスタンスが実際にb
を使用するとは限りません。その場合、メモリを必要とするインスタンスに余分なメモリを割り当てるだけで、メモリを節約できます。
2番目のフォームが有用な場合はありますか?
+1複雑度の低い管理 – ojblass