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