struct Vector2i { int x = 0, int y = 0 };
があるとしましょう
そして、Vector2i* pointer = new Vector2i;
を介してそれへのポインターを作成しますint x
とint y
はどこに保存されますか?ヒープまたはスタック?
血管があるため、インスタンスのすべてのメンバーはヒープ上でポインターが自動的にポイントしていますか?スタックのメンバーは自動的にスタックに船を作成しましたか?スタック上に作成されたクラス内のポインターはどうですか?
事前に感謝し、このトピックに関連する記事を私に遠慮なく教えてください(私の用語はおそらく悪いです)
構造体のメモリがヒープ上にある場合、構造体とそのメンバーは別個のメモリチャンクではないため、そのメンバーもそうです。実際、構造体は一方向に配置することすら存在せず、構造体のデータフィールドを表し、格納する連続したメモリ領域のみです。もちろん、構造体へのポインタがある場合、ポインタはそれ自体の個別のメモリチャンクに存在しますが、構造体に割り当てられるメモリは通常、分割できないメモリのチャンクです。