επιστημηが与太をこく、弾幕とは無縁のシロモノ。363ニュース著作とお薦めの品々は著作とお薦めの品々は東方熱帯林へ。C++の流儀(前編)Vista到来。C++開発者の皆さん。(rss)型推論っすかーR・田中一郎タンが着火したと思しき型推論の使いどころ...悩ましいとこです。匿名でないとシャレならんとこにはvar使え、これは同意です。僕がこだわるのがコンパイラの型推論がプログラマの意図と一致しないことがあるなー、と。List<Child>();僕はおそらく、このテの(省略目的の)varは使わない気がします。List<Child>();なのよね僕のキモチ的には。List<Child>();だと推論しちゃうですよね。'型推論'ってコトバにも引っかかりを感じます。文脈から導き出すんだろうから'型導出'じゃないかしらんもひとつ。)僕はこれも使わない(きっと)。僕的にはiは(推論された型)intじゃなく符号のないuint(C/C++でのsize_t)であって欲しいなーとか思うわけです。ClsCompliantじゃねぇじゃん!ってーツッコミもコメントにありますが、ともかくもloop変数にただ回すだけ以上の意味があるなら型を意識したいと考えます。コードから推論(だから導出だってーの)してくれるけど、その結果とプログラマの思惑とは必ずしも一致しないよね。ことは心得ておかにゃなんねーかと思ってます。積極的に型推論を使うシチュエーションはあるんだろか、と。これについても「プログラマの意図がより明確に伝わるなら」の条件に照らすでしょうね。t;}「tはxの型に準ずる」って意図を表現しているんでこれはアリ(επι的に)。符号のないuint(C/C++でのsize_t)であって欲しいなーとか思うわけです。同意なんだけど、.NETではむやみに使うとClsCompliantじゃなくなっちゃうのよねー。引っかかるのはそこです。0;に限れば、意図した結果なんですけどね。この考え方については、僕も以下のようなコードでブログで触れています。...とソッチのコメントに書いてみた。血の通った人様に推論を強いるなよ、みたいな。人間にとってはコンパイラの推論をなぞるのが大変ですからねー。ガチガチの静的型付けのほうが楽なんですよね。自分トコで書いたコメントをここにも投下。コードを書いている時点ではっきりしています。宣言型と実装型を別にしても意味ないです。コードを書いているとき、そしてコンパイル時には型が分かっていないと駄目です。型を宣言する事を並べて比較できません。釣られてやってきました。私もεπιστημηさんにほぼ同意かな。何かうらやましいのですね。コードを書いている時点ではっきりしています。あっても実害は無いんだけど、なんか気分的に嫌よねー。