ねたにしても風化しかかってますが。思いついたので。
#include <iostream> int main(int, char* []) { if(int n0 = 0) {} else if(int n1 = 1) if(int n2 = 1) if(int i = 0) {} else while( i < 20 && ( std::cout << n1 << std::endl, n2 = n1 + n0, n0 = n1, n1 = n2, ++i, true ) ) {} }
↓で、だいたいfor
っぽいのを表現できそう。
if(int i = 0) {} else while( i < 20 && ( /* do something */, ++i, true ) ) {}
初期値が0(あるいはfalse
)でない場合は{} else
はいらないです。あと++i
も0にならないなら末尾の,true
も不要ですね。