ストラウストラップのプログラミング入門(5) 第4章のつづき

ストラウストラップのプログラミング入門』を読む。今日は4章の4.4から4章の最後まで。ドリルはまだ。

if、switch、while、for、関数宣言など。あと、vectorをおぼえた。添え字アクセスはJavaの配列みたいだけど、可変長なんですね。

エラーチェックしましょうって話とか。

プログラムでは常に不正な入力を評価しなければならない。いつか誰かが(故意か偶然かを問わず)不正な値を入力するからだ。たとえユーザーが不合理な行動を取ったとしても、プログラムは合理的な動作をしなければならない。

名言もちょいちょい出てくる。

最も複雑なプログラムを書いて自分の才をてらうのではなく、目的を達成する最も単純なコードを書くことで自分の力量を示そう。

あと、こんな警告も。

for文の本体でループ変数を変更してはならない。

懺悔すると、内側のfor文で、外側のfor文のループ変数をリセットする処理を書いたことがある。しかも結構最近で、半年前くらい。たしか、長さの異なる複数の配列から同じインデックスの値を拾っていき、一定数に達したらやめる、という処理だったと思う。どう書き直すのが正しいのかな。考えよう・・・。

はまったこと

また実行環境の話。Windows 7(64bit)のコマンドプロンプトです。

Ctrl+ZはWindows環境で入力ストリームを終了し、Ctrl+DはUNIX環境で入力ストリームを終了する。

…らしいけど、Ctrl+ZもF6も効かなくて困っていた。

コマンドプロンプトの「Ctrl+Z」に、「Enter→Ctrl+Z→Enter」が相当することが分かった。