回答編集履歴
2
補足
test
CHANGED
@@ -15,3 +15,9 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
ちなみに、mallocのような処理を自動変数として行いたい場合は _allocaという関数があります。こちらは必要量のメモリを(スタック領域から)確保しつつも、freeを書かずともスコープを抜けた時点でメモリを開放してくれます。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
呼び名としては、new や malloc は「動的割り当て(変数)」、グローバル変数などではじめから確保しておき、プロセスの消滅で消えるものは「静的割り当て(変数)」、スコープを抜けると自動で消える局所変数は「自動変数」で、いかがでしょうかね...
|
22
|
+
|
23
|
+
[http://www.geocities.co.jp/SiliconValley-Bay/7437/c/malloc.html](http://www.geocities.co.jp/SiliconValley-Bay/7437/c/malloc.html)
|
1
日本語の書き方を訂正
test
CHANGED
@@ -1,11 +1,17 @@
|
|
1
|
-
|
1
|
+
「ローカル変数」とおっしゃられている変数(関数のスコープの中で(スタック領域内に)メモリ確保され、スコープを抜けるとfreeやdeleteなど書かずとも自動で解放される)は、「自動変数」と呼ばれていますね。
|
2
|
+
|
3
|
+
ほかは「外部変数」「静的変数」の、合計3種類の「記憶クラス」があります。
|
2
4
|
|
3
5
|
|
4
6
|
|
5
|
-
次ページの「記憶クラス」がご参考になるかと思います。
|
7
|
+
次ページの「記憶クラス」の記述がご参考になるかと思います。
|
6
8
|
|
7
9
|
[http://www9.plala.or.jp/sgwr-t/c/sec12.html](http://www9.plala.or.jp/sgwr-t/c/sec12.html)
|
8
10
|
|
9
11
|
|
10
12
|
|
13
|
+
クラスのメンバー変数は、クラスのインスタンス自体の記憶クラスにゆだねられるわけで(グローバル変数としてインスタンスを作成されるか、自動変数として作成されるか、別のインスタンスの中に作成されるか...)、まさしくクラスインスタンスの「メンバー(変数)」なのでしょう。
|
14
|
+
|
15
|
+
|
16
|
+
|
11
17
|
ちなみに、mallocのような処理を自動変数として行いたい場合は _allocaという関数があります。こちらは必要量のメモリを(スタック領域から)確保しつつも、freeを書かずともスコープを抜けた時点でメモリを開放してくれます。
|