🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
void f(int x){}型の自作関数の()内で変数宣言されたint xに代入されたデータは自作関数fが実行されるとメモリにつけられた変数名xと共にコンピュータのメモリから消去されます
void f(int x){}型の自作関数の()内で変数宣言されたint xに代入されたデータは自作関数fが実行されるとメモリにつけられた変数名xと共にコンピュータのメモリから消去されます
つづき
さあ 🐋void f(int x)型の自作関数の変数宣言int xにより作製された
変数xのスコープ(変数宣言により作製された変数xの使用可能な範囲)
が
どうなっているのかわかったかな😻😊
自作関数void f(int x)の()内の変数宣言int xにより作製された
変数xのスコープは
void f(int x){👉
cout << x << "をとりこみました。\n";
👈}
👉👈内でしたね
では
この変数xの寿命
(変数xがメモリに保持されてから消去されるまでの間)
はどうなっているのかというと・・・
main関数のブロック{}内で
f(1);
が実行されたとき
void f(int x){}型の自作関数fの()内で変数宣言されたint xに
代入されたデータは
自作関数のブロック{}内の命令文が実行されると
変数xごとコンピュータのメモリから消えてしまいます
その様子を
一緒に観察してみませんか?
サンプルとして以下のプログラムを用います。
#include <iostream>
using namespace std;
void f(int x){
cout << x << "をとりこみました。\n";
}
int main(){
f(1);
return 0;
}
プログラムの実行結果
1をとりこみました。
マックス「おおぅ いいじゃないか
自作関数fの()内のint xに数値データ1を代入されたもの
f(1);
が
main関数内に記述されているのか」
てんC「このプログラムで
自作関数
f(1);
が実行されると
int xに代入された数値データ1は
コンピュータのメモリの節約のため
変数xごとコンピュータのメモリ内から消去されます。
では😊
もう1つ
次のようなプログラムを観察してみますか?
#include <iostream>
using namespace std;
void f(int x){
cout << x << "をとりこみました。\n";
}
int main(){
int a=2;
f(1);
cout << a << "をとりこみました。\n";
return 0;
}
ビルド実行結果
1
2
このプログラムにおいて
変数aに格納されている数値データ2は
#include <iostream>
using namespace std;
void f(int x){
cout << x << "をとりこみました。\n";
}
int main(){
int a=2;👉
f(1);
cout << a << "をとりこみました。\n";
return 0;
👈}
aが変数宣言されたブロック{}内の👉👈内の命令文が全て実行されるまで
コンピュータのメモリに保存されています。
このプログラムで
自作関数f(int x)のint xに数値データ1を代入した
f(1);
が実行された場合
int xに格納された数値データ1は
変数xごとコンピュータのメモリから消えてしまいます
その直後の時点、つまり
f(1);
の次の命令文
cout <<a<< "をとりこみました。\n";
が実行される前の時点では
int a=2;
により
変数aに格納されている数値データ2は
まだコンピュータのメモリ内に保存されています
そして
f(1);
の次の命令文
cout <<a<< "をとりこみました。\n";
が実行されるときに
まだメモリに保存されている
変数aに格納されている数値データ2の情報が利用されるというわけです
自作関数fの()内で変数宣言された変数xのデータ情報は
コンピュータのメモリから消えていても
main関数のブロック内で変数宣言された変数aのデータ情報は
コンピュータのメモリに保存されているというわけです。
そして
main関数のブロック内の全ての命令文の実行の終了とともに
main関数のブロック内で変数宣言された変数aは
格納されている数値データ2とともに
コンピュータのメモリから消去されます。」
ソーラー「なるほど
この
自作関数が実行されたとき
自作関数内で変数宣言された変数
と
変数に格納されていたデータ情報が
コンピュータのメモリから
消去される仕組みは素晴らしいね。
メモリに使わなくなった変数のデータ情報がどんどんたまっていったら
コンピュータはメモリが使用できなくなるものね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます