Cpp クラス デストラクタ 新しいページはコチラ
提供: yonewiki
(→クラス デストラクタ) |
|||
5行: | 5行: | ||
<tr> | <tr> | ||
<td style="width:1px;"></td> | <td style="width:1px;"></td> | ||
− | <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++ クラス デストラクタ</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> | + | <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++(Cpp) クラス デストラクタ</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> |
</tr> | </tr> | ||
</table> | </table> | ||
19行: | 19行: | ||
− | ポインタ変数を定義した時点、図の★の部分では、char* pcA; | + | ポインタ変数を定義した時点、図の★の部分では、char* pcA;となっていて、図では、何もないchar型の大きさを知る穴あきの枠組プレートみたいなものが準備されます。この時点ではメモリ空間のポインタ変数がさすためのアドレス格納の旗みたいなものがあって、そこに32bitのメモリアドレスを保持できるのですが、最初は何も入っていない状態になります。旗があって枠がある。そんなイメージですね。図の中では間違えて16bitアドレスの場合と書いてますが、32bitが正しいです。そうするとアドレス範囲は0x00000000~0xffffffffで、この範囲の値が入る予定です。このアドレスを格納するアドレスだけは宣言した時点で決まります。それが図の例だと0x000100a0だとしています。これは &pcAとして取得できるモノです。実際には取得することはしないはずです。ポインタ変数にアドレス演算子を接頭句につけて使うことは、まずないでしょう。総じていうと、この時点でのpcAという変数は役立たずといってよいでしょう。変数を入れる領域についてのうつわ、箱、受け皿、そういったものすら用意できていないのです。変数を使うための準備はしたっていう感じです。指し示すことができるのは1byteの領域で基本charという型を指すことができて、そのアドレスを受け入れる枠だけは準備した状態です。中身はまだない。吾輩は猫である名前はまだない。そんな感じです。この状態のポインタ変数はヌルポインタと呼ばれます。 |
68行: | 68行: | ||
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>Ctest.cpp<span>)</span></span><!-- padding 上 右 下 左--> | <span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>Ctest.cpp<span>)</span></span><!-- padding 上 右 下 左--> | ||
<syntaxhighlight2 lang="cpp" line> | <syntaxhighlight2 lang="cpp" line> | ||
− | #include " | + | #include "ctest.h" |
− | + | Ctest::Ctest(int iArraySize){ | |
piValue = new int[iArraySize]; | piValue = new int[iArraySize]; | ||
} | } | ||
− | + | Ctest::~Ctest(){ | |
delete piValue; | delete piValue; | ||
} | } | ||
81行: | 81行: | ||
<syntaxhighlight2 lang="cpp" line> | <syntaxhighlight2 lang="cpp" line> | ||
#include <cstdio> | #include <cstdio> | ||
+ | #include "ctest.h" | ||
using namespace std; | using namespace std; | ||
100行: | 101行: | ||
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp<!-- padding 上 右 下 左--> | <span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp<!-- padding 上 右 下 左--> | ||
<syntaxhighlight2 lang="cpp" > | <syntaxhighlight2 lang="cpp" > | ||
− | + | Ctest::~Ctest(){ | |
delete piValue; | delete piValue; | ||
} | } |