new演算子を用いてメモリを動的に確保することができます
マックス「あ、あの・・・」
ソーラー「それでは
好きなタイミングで
メモリに格納されているデータを完全に消去できるよう
あらかじめメモリを確保
すなわち
🌞動的にメモリを確保してみたいと思います🌞
そのためには
🌞new演算子🌞
を用います
例えば
整数値データを格納できる32ビット=4バイト分のメモリを確保したいなら
aのint*型のポインタ変数宣言
int* a;
を実行し
(ポインタ変数名がaとなっていますがポインタ変数名は自由に決めて構いません)
そのポインタ変数aに
int型にnew演算子を作用させた
new int
を代入する
a=new int;
を実行します 」
マックス「
int* a;
のあとに
a=new int;
を実行する?
これは一体何がおこなわれているんだ?」
🌞 🌞 🌞 🌞 🌞 🌞 🌞
う~ん newってみたことないけどかっこいい~~
🌞 🌞 🌞 🌞 🌞 🌞 🌞
ソーラー「
int* a;
a=new int;
が実行されると何が実行されるか
実は
とても簡単です
今
整数値データを格納できる32ビット=4バイト分のメモリを動的に確保したい
とします
メモリを確保したなら
もちろん好きなタイミングでその動的に確保されたメモリを解放し
そのメモリに格納された整数値データを消去することができます
int* a;
により
int*型のポインタ変数aを生成したのは
int型の変数のアドレスを格納するためです
ずっと前のエピソードで
int*型のポインタ変数aは
int型の変数のアドレスを格納することができるのを学んだよね」
マックス「それが
ポインタ変数宣言
int* a;
を実行したことの意味だとすると
a=new int;
は
int*型のポインタ変数aに
int型の変数のアドレスが代入されていたりして・・・な
にゃ( ̄∇ ̄;)ハッハッハ(´▽`*)
🌞 🌞 🌞 🌞 🌞 🌞 🌞
マックスさん おもしろ~い
にゃ( ̄∇ ̄;)ハッハッハ(´▽`*)
🌞 🌞 🌞 🌞 🌞 🌞 🌞
ソーラー「う~ん、近いぃ
int型にnew演算子を作用させた
new int
が実行されると
32ビット=4バイトのデータを格納するint型に
対応した32ビット=4バイトのメモリが
確保されることになります
ただし
どのアドレスのメモリを確保するかを指定することはできません
そして
new int が実行されると
new int
には
その確保したメモリの
アドレスが戻り値として返されることになっています。
ですので
a=new int;
が実行されると
int*型のポインタ変数aには確保したメモリの
アドレスが代入されるというわけです。」
マックス「
int* a;
a=new int;
を実行しただけで
32ビット=4バイトのメモリが
確保されることになるのか?」
ソーラー「そうなんです
int* a;
a=new int;
を実行しただけで
32ビット=4バイトのメモリは
ばっちり
確保できています」
マックス「そして
このユーザーが確保したメモリは
コンピュータは使用できなくなるんだろう」
ソーラー「そうなんです。
何もしなければ
プログラムの実行中は
この確保したメモリを
解放してあげるまで
コンピュータはこの確保したメモリを使用することはできません
確保したメモリを解放しなくても
プログラムの実行が終了すれば
自動的に
確保したメモリは解放されることになります」
マックス「だが 動的にメモリを確保することにより
コンピューターが
この確保したメモリを利用できなくなっただけでは
意味がないんじゃないか」
ソーラー「そう、メモリを確保しただけでは
意味がないんです
動的にメモリを確保しただけでは
コンピュータがそのメモリを使用できなくなっただけです
つまり(*´▽`*)
コンピュータの使用できるメモリ容量が減っただけなんです(笑)
この確保したメモリに整数値データを
代入しておいて
そのデータを使用したのち
直ぐに
確保したメモリを解放して
メモリに格納された整数値データを消去することに意味があります
そうすることにより
コンピュータが使用することができるメモリの容量を再び
元に戻して容量を増やすことができるんだね
メモリを動的に確保しただけでは
コンピュータが使用できるメモリ領域が減っただけで意味がないんです」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます