teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメントに対する追記

2017/04/04 02:19

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -65,3 +65,24 @@
65
65
 
66
66
  それが使わないと判断したら破棄してくれるようなので、delete文?がないようです。
67
67
 
68
+ (追記1)
69
+ コメント読みました。
70
+ 動的メモリについてですか...
71
+ 私は趣味でやっていて、イメージからしか理解していないので、
72
+ 説明がしづらいですので、検索してみます。
73
+
74
+ 「動的メモリとは」等で検索すると
75
+ http://wisdom.sakura.ne.jp/programming/c/c55.html
76
+ のようなサイトがヒットします。
77
+
78
+ 上記サイトはC言語用ですが、"動的メモリとは" を学ぶために紹介します。
79
+
80
+ 普通、配列は、(少なくともC/C++では) 決められた範囲しか使えません。
81
+ 範囲というか要素数。
82
+ 要素数50 としても、Firefoxとかみたいにかなりメモリを消費するような場合があります。
83
+ ブラウザってタブが複数開けますよね。
84
+ 固定ではないので、毎回必要なメモリが変わります。
85
+ こういう場合に "大きさが変わる" 配列のようなものを用意します。
86
+ これが動的メモリっていう感じかな。
87
+
88
+ Java の ArrayListとかは 内部では この動的メモリを行っているのではないでしょうか?

1

文章の追加

2017/04/04 02:18

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -57,4 +57,11 @@
57
57
  newで生成するような動的確保は「**ヒープ領域**」に配置されるのだと思います。
58
58
 
59
59
  つまり、
60
- **__ヒープ領域とは、newで生成・確保する動的メモリ用の領域のこと__**だと思います。
60
+ **__ヒープ領域とは、newで生成・確保する動的メモリ用の領域のこと__**だと思います。
61
+
62
+ C言語やC++は Free関数というものや delete文? でオブジェクトを破棄する必要があるようですが、
63
+
64
+ Javaとかみたいな言語は、ガーベージコレクタっていうのかな。
65
+
66
+ それが使わないと判断したら破棄してくれるようなので、delete文?がないようです。
67
+