動機:
ゲームプログラマになる前に覚えておきたい技術
を読んだ時、C++をどの程度分かっているかの指標に対して、
以下のようなチェック項目があった。
- using namespace stdの意味はわかるか?(OK)
- template構文の意味はわかるか(NG)
- コンストラクタ、デストラクタは大丈夫か?(OK)
- コンストラクタにおける初期設定の書き方を理解しているか?(OK)
- メンバ関数宣言の後につく、constの意味はわかるか(OK)
- operator系メンバ関数の使い方は大丈夫か?(NG)
- enumの名前はクラスや構造体と同様に扱えることを知っているか(NG)
- deleteとdelete[]の違いはわかるか?(NG)
- C++の文字列は0(NULL)を終わりの記号とする、ことを理解しているか?(OK)
筆者は、後半が壊滅的なのがわかる。そこで気付いた。
私はC++を使っているのではなくて、Cを使っているのだと…
筆者がちゃんと習ったのは、C言語であったのだと。
なるほど、他人の書いたC++のコードが読めないわけだ。
そもそも、windowsプログラミングに手を出そうとしていたが、
内容が理解できないはずだ。
C#の経験はあるので、困ったらC#を使おうと思っていたが、
C#に向くのは時間の問題であっただろう。
ではC++をオブジェクト指向の観点から、
改めて勉強しよう、と感じたのである。
学習:
学習は、以下の文献を用いて行なっていく。