1 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 14:02:01 ] 自分は1行しか書かないつもりでも あとでコードを足さなければならない事態なんていくらでもやってくる。 他人がきちんと中括弧補ってくれるかどうかはわからない。 1行文だろうがなんだろうが 最初から中括弧をつけるクセをつけろ
352 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 09:16:07 ] >>351 妙な && が気になるが、if で書けば ・コードの行数が少なくて済むので見やすい ・スコープがしっかり認識できて良い ・シンタックスハイラトや自動インデントなど IDE によっては switch の対応が微妙 ・if の方がコンパイラが最適化しやすい条件になっている とかとか。分かってて書いている人なら、別に良いと思うけど?
353 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:17:54 ] if(id == typeA) if(id == typeB) と if(id == typeA) else if(id == typeB) 同じ意味だよね?
354 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 01:40:46 ] >>353 if (id == typeA) { ... id = typeHoge; } の場合は?
355 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:06:12 ] >>353 idがconstなら同じ。そうでないなら、>354の可能性がある。 例えば、この関数では全く同じ。 void func(const int id) { if (id == typeA) { funcA(); } if (id == typeB) { funcB(); } }
356 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 12:18:01 ] つか、同じじゃないように見えるんだけど? if(id == typeA) if(id == typeB) って、インデント付けると if(id == typeA) if(id == typeB) だよな? 更に括弧も付けると if(id == typeA) { if(id == typeB) { } } だよな?
357 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:00:09 ] >>356 >353が>351を踏まえて書いたかどうかだな。 >353が>351を踏まえずに>356の意味で書いたのだとしたら、 if (id == typeA) if (id == typeB) は(typeAとtypeBが等しいと言う無謀な前提を仮定しない限り) if (0)と同じになってしまう。
358 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 18:07:30 ] べつに無謀な前提ではないんじゃないか typeA != typeBでもid == typeAかつid == typeBだったりすると怖いけど
359 名前:デフォルトの名無しさん mailto:sage [2008/10/09(木) 12:42:52 ] >>358 この流れでその前提は、余りに阿呆過ぎる。 最早>351も>353もいないから真意は不明だが。