好きなタイミングでメモリに格納されているデータを消去できるようあらかじめメモリを確保しておくことを🌞動的にメモリを確保する🌞といいます


🌞    🌞    🌞    🌞    🌞    🌞    🌞 


確かに変換コンストラクタは普通のコンストラクタ・・・


変換という名前をつけるほどでもない・・・


きゃは


フィーリングが大事なんだね


さあ 


次は何であそぼっかな~



🌞    🌞    🌞    🌞    🌞    🌞    🌞



マックス「そ、そうなのか?」



ソーラー「ここでお知らせです」



マックス「な、なんだ?」


ソーラー「


main関数内で変数宣言された変数は


プログラムの終了とともに


コンピュータのメモリに格納された


その変数のデータとともにメモリから消去されます


たとえば


main関数内で変数宣言された


int型の変数aに数値データ1が格納されているとします


変数aは


プログラムの終了とともに


コンピュータのメモリに格納された


その変数aの格納している数値データ1とともにメモリから消去されます


逆に言えば


プログラムが終了するまでは


変数a



その変数aの格納している数値データ1は


メモリから消去されないと


いうことになります


自作関数の定義内で変数宣言された変数は


自作関数の実行後


コンピュータのメモリに格納された


その変数のデータとともにメモリから消去されます


たとえば


自作関数の定義内で変数宣言された


int型の変数bに数値データ2が格納されているとします


変数bは


自作関数の実行後


コンピュータのメモリに格納された


その変数bの格納している数値データ2とともにメモリから消去されます


逆に言えば


自作関数の実行が終了するまでは


変数bと


その変数bの格納している数値データ2は


メモリから消去されないと


いうことになります


いずれの場合も


変数は格納されているデータとともに


メモリから定められたときに消去されます


ところで


メモリをあらかじめ確保しておいて


そのメモリにデータを格納し


好きな時に


そのメモリに格納されたデータを


消去するということがC++言語では可能となっています


もしメモリの確保を行うと


メモリを確保している間は


コンピュータは


ソフトの実行などの際


その確保されたメモリを使用することはできず


常にメモリは確保されたままとなります。


そして


確保しているメモリにデータを格納したとします


コンピュータが


その確保しているメモリを勝手に利用できなくなるだけで


ユーザー側からは


その確保しているメモリの格納されているデータの上書きを


実行することができます


上書きされただけではデータは確保しているメモリに


残ったままとなりますが



確保しているメモリに格納されたデータを


好きなタイミングで自由に完全にメモリから消去することもできます


確保しているメモリに格納されたデータをメモリから完全に消去するとき


確保しているメモリは解放され


コンピュータは


ソフトなどの実行時に


再び


それらのメモリにアクセスして使用することができるようになります


このように


好きなタイミングで


メモリに格納されているデータを完全に消去できるよう


あらかじめメモリを確保しておくことを



      🌞動的にメモリを確保する🌞



といいます



マックス「そんなシステムがあるのか?


なんでそんなシステムがあるんだ?」


ソーラー「


なぜ


このようなシステムが設定されているのかというと


例えば


main関数内で変数宣言された


int型の変数aに数値データ1が格納されているとします


変数aは


プログラムの終了とともに


コンピュータのメモリに格納された


その変数aの格納している数値データ1とともに


メモリから消去されますが


プログラムが終了するまでは


変数aと


その変数aの格納している数値データ1は


メモリに残ったままとなります


実際には変数aに格納されているデータを


使用してしまえば


メモリに


変数a



変数aに格納されているデータ1を残しておく必要はありません。


もし


main関数内で大量に変数宣言された変数にデータが格納された場合


あるいは


大量の配列変数を生成する配列宣言が行われ


大量の配列変数にデータが格納された場合


それらのデータは


プログラムの実行終了までメモリ内に保存されたままとなります


そして


main関数内で大量に変数宣言された変数にデータが格納されたり


大量の配列変数を生成する配列宣言が行われ


大量の配列変数にデータが格納されたりすることが


繰り返されつづけると


コンピュータがプログラムを実行するために必要なメモリが


足りなくなってしまい


コンピュータがフリーズすることになります


そのため


大量のデータをメモリに格納して使用する場合には


使用され必要なくなったメモリに格納されたデータは


こまめに消去しておいた方が良い場合があるというわけです。」













  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る