ページ 11

龍神禄プログラミングの館3章での疑問

Posted: 2014年7月20日(日) 17:09
by ICE
main.cppでグローバル変数を宣言せずkey.cppで宣言してそれを結局main.cppで使用してるということは、意味が感じられなかったのですが、どう変化があるのでしょうか??

Re: 龍神禄プログラミングの館3章での疑問

Posted: 2014年7月20日(日) 18:05
by zxc
  ここのことでしょうか。
  main.cppでは直接にstateKey変数を扱ってはいません。なので、それ自体が見えるようにする必要がありません。
  main.cppに書かないでkey.cppに書いたということは、弱いものではありますが、key.cppやそれに関連するファイルのみでのみ、stateKey変数を扱うつもりであるという隠蔽の意図があるのだと思います。
  大規模になったとしてもファイル分割しないよりはmain.cppをきれいなままにしておくことが出来るということなので、まだこれくらいの規模だとどっちでもいい感じはするかもしれません。
http://dixq.net/rp/3.html さんが書きました: 先ほどのままではKeyという関数をグローバル変数にしなければなりませんが、

どこでも値が書き換わってしまうグローバル変数はなるべく少なくしたいものです。

そこで同じグローバル変数でも、なるべくバグ発生の確率が下がるような使い方を試みてみます。
とそのページにも書いてあります。