例外処理
try、catch、throwというキーワードを使って例外処理ができる。 安定性の高いプログラムを作るには必須だが、厳密に例外対策をすると異様にコードが長くなるので、本当に必要な部分を見極めて例外処理を実装することがキモ…
try、catch、throwというキーワードを使って例外処理ができる。 安定性の高いプログラムを作るには必須だが、厳密に例外対策をすると異様にコードが長くなるので、本当に必要な部分を見極めて例外処理を実装することがキモ…
C++のようなポリモーフィズムをサポートする言語では、そのオブジェクトの正確な性質はプログラムを実行するまで決まらないので、コンパイル時にはオブジェクトの型がわからないことがある。このような情報は、実行時に実行時型情報を…
dynamic_cast const_cast reinterpert_cast static_cast の4つ。 このうち、dynamic_castはRTTIに関係する。 キャスト絡みのプログラムを組むときに復習しよう…
C++プログラミングでは変数、関数、クラスを大量に作る傾向があるので、名前が競合する場合が多く発生する。それを解決するために名前空間がある。自作のクラスは自分で決めた名前空間を使用すれば、標準ライブラリなどの重要なオブジ…
C++プログラム内の1つまたは複数の関数を他言語にリンクするようにコンパイラに伝えることができる。 うーむ。これまた具体的なイメージが湧かない・・・・。 どういうメリットがあるんだ?
asmキーワードを使うと、C++ソースコードにアセンブリ言語を埋め込むことができる。 OK、Z80の知識はここで役立つのか。 やっぱ、アセンブリ使った方が速くなるのかねぇ。 なお、Visual C++ではを使うらしい。a…
ヒアドキュメントは「指定した文字が出てくるまでの入力を全て文字列とする」もの。 例: $str = <<< EOD Hello World!! これがヒアドキュメントです。 EOD; print($st…
C++はCに比べ入出力周りが一新されている。 Cのスタイルでも動作はするが、せっかくなのでC++のスタイルを採用した方が良さそうだ。 さらに、演算子に関してもオーバロード可能なので自由度はかなり高い。 つまり、C++のス…
仮想関数とは、基本クラス内で宣言され、派生クラス内で再定義されるメンバ関数。宣言の際にキーワードvirtualが必要。 仮想関数を含むクラスが継承されると、継承した派生クラスはその仮想関数を自分自身に関して再定義する。 …
1個以上の純粋仮想関数(必ずオーバーライドしなければいけない仮想関数)をもつクラスを抽象クラスという。 抽象クラスは継承されてはじめて、存在できる。
最近のコメント