プログラミングで気付いたことをc⌒っ*゜ー゜)φ メモメモ...
○ クラスのメンバ関数内でstatic変数を利用する際には注意が必要!!!
今更そんなことに気付くとはいやはや修行不足^^; さすがはstatic変数。そのクラスのオブジェクトが一度破棄されても残ってるのねっ!? それは完全に予想外でした・・・。どちらかというとたまたま気付いたミスですしね・・・。早めに気付いてよかった。いくらstatic変数とはいえ、オブジェクトが破棄されたらstatic変数も破棄されると思い込んでいたのが間違い。staticはあくまでstaticで、そのまま留まり続けていたとは。仕様としては当たり前なのでしょうけれど、思い込んで使っていたのでうかうに失敗するところでした・・・。
ん〜、今回失敗したルーチンは再使用可能な状態を目的としていたと言えるのかな? そろそろ構造をしっかりと考えてプログラミングしないとなぁ。何月号だったか忘れたけれどCマガにも状態遷移を基にしたプログラミングのススメみたいなのもあったし、シーケンシャルなプログラムから脱皮したいな〜。
ま、努力と実践あるのみ。今組んでるプログラムが汚いので組み直したい衝動に駆られながらもそんな時間もなくツギハギだらけにしてしまっている状態ですが、なんとかいろいろと身に付けていこう・・・!!!
0 件のコメント:
コメントを投稿