for文でfor(int i=0;i<N;i++){...}
とできるのは有名だが。if文の条件式でも、変数を宣言することができる。そして、そのスコープは、ifに対応するelseがある場合には、elseに続く文の最後までである。
よって、以下は正しいC++コードである。(int main(){ return 0; }
と等価)
int main(){
if(int i=0){}
else if(i){}
else return i;
}
非常に面白いが、知らない人が読むとなんじゃこりゃってなりそうだし、使い道もあんまり多くない。