MEMO

個人の備忘録的に学習の記録を綴っていきます。(いつまで続くか...!)

【第9回】サンプルコードの解説を読み進める(+今後の方針)

(執筆+記事として投稿:85分くらい)

サンプルの解説を読み進め、理解を深める回+今後の方針について

(書籍内:P20~42)


進め方への疑問に対する答え


前回、これやる意味あるのかな?と思った件についてだが、自分の中でこの学習の役割について一つの結論を出した。

読もう!
もうね、これは「学習や興味に対するフック」「実務などで、使えはしないけど、知っている程度の知識を増やす」みたいな教養的役割にしようと思う。

ひたすら読み進め(サンプルコードも適宜眺めながら)、気になったことがあればピックアップして、調べ
「興味深かったことを後々に見返せるようまとめる」
というスタンスで進めていこうと思う。


ますます、人に対して公開する内容ではなくなっていくが、あくまで日記なので、良いのかなと思っている。

てなわけで、れっつら読書(+サンプルコード)。

(書籍内:P20)
「ifstream」
#include <ifstream>
みたいな感じで使う。
C++でファイルを読み込む際に使用する。
Visual StudioからF5で実行するばあい、ファイルは.vcprojファイルがあるところが標準の検索パスとなるらしい。
つまり、.vcprojと同じ階層に置いたファイルを指定したい場合は、何もつけづにファイル名を書けばいいし、違う場所に置く場合は、.vcprojファイルがあるディレクトリを起点にパスを書いてやればいいわけだ。


(書籍内:P30)
メンバ関数の後に const をつけると値が変わらないことを保証できる」
class A{
void func1() const;
void func2();
};
void foo (const A& a ) {
a.func1(); //OK
a.func2(); //コンパイルエラー
}

const なメンバ関数からはconstでないメンバ関数は呼べない
void A::func1() const {
func2(); //これはconstではないのでコンパイルエラー
}
constがつけられる関数は、必ずつけた方がいい(安全装置として)

 

(書籍内:P33)
「ゲームでよく使う、フラグ管理にはビット演算が便利」
大量のフラグをどのように管理するか。
2進数の数を、関数などを作成して、フラグに見立てたり、割り算をしたりなどでも出せる。
しかし、ビットごとに掛け算をする機能をもっているC++ではビット演算を使った方が便利