newを使用してオブジェクトを作成すると、そのオブジェクト はヒープに割り当てられます。しかし、インスタンス化するクラスのメンバーはどうなりますか?例えば、
class foo {
Bar x;
Bar *y;
foo() {
x = 10;
y = new Bar();
}
}
ここで、xはオブジェクトであり、yはBarのインスタンスです。それらは両方ともヒープに割り当てられていますか?したがって、foo Fのオブジェクトがメソッド内でローカルに作成された場合、Fがスコープ外になるとyはどうなりますか?
また、Fがヒープ上に作成された場合、 Fがぶら下がっていると結論付けるのはいつですか(誰もそれを指していない)?なぜなら、Fへの参照はないかもしれませんが、Yへの参照はあるかもしれません。