いま、2chの某スレでC/C++やJavaのifのthenブロックで中括弧を省略したほうがいいのかどうかについての議論が繰り広げられていて、面白そうだったので取り上げてみる。*1 要は、次の書き方は中括弧を省略したほうがいいのか? if (xxx) { continue; } という、昔からよくある議論である。 その前にまず言っておかなければならないが、「(文法的には)中括弧を省略できる」という表現は正しくないと私は思う。 と言うのも、C/C++やJavaの文法的には、 1) statement : if ( expression ) statement1 [else statement2] 2) statement : { [ statement-list ] } 3) statement-list: statement または statement-list statement ※ [