急に冷え込んだためだろうか、風邪がはやりつつあるようだ。まずは基本の、うがい&手洗い、を欠かさずに。

 先日のプログラムの不安定性問題について。不安定性の原因をSTLの性にしてましたが間違いです。全く僕のミスでした。
 投稿する前に概知の懸念を取り除くため、デバッグに本腰を入れて取り組んだ結果、ベクタのサイズの初期化に不適切な点があった。そのため条件によってはベクタの範囲外にアクセスしようとして落ちているらしい。このミスによりほとんどの結果は影響はほとんどないけれど、一部の結果は取り直しをしなければならない。
 まだ結果が出ていないので、これで不安定性の問題が解決したのかはわからないけれど、解決のめどがついた。

 今回の問題では、ベクタの添字演算子の性質が関係している。vectorの添字演算子では範囲外の要素にアクセスした時の動作が定義されていないそうで、多くの場合プログラムがクラッシュして落ちるらしい。そのためベクタの添字演算子の使用には注意が必要だ。
 ベクタの要素にアクセスするには添字演算子
の他にat()関数があり、at()関数の場合には範囲外にアクセスした時にはエラーが出力されるそうだ。

 こんな段階でミスが発覚すると落ち込む。しかし、間違ったまま投稿するわけにはいかないから、ホッとした。