プログラミング言語C++のヘンテコな演算子。💘(U+1F498) #include <iostream> int main() { int n = 100; while ( 0 <-------------------- n) { // !? std::cout << n << ' '; } } 実行結果: 90 80 70 60 50 40 30 20 10 タネ明かし 前掲C++ソースコードの振る舞いを括弧を用いて明確化する。int型の変数nに対し前置デクリメント演算子を10回適用し、その結果を値0と比較している。C++では組込み前置デクリメント演算子の戻り値は左辺値(lvalue)となるため、該当ソースコードはwell-definedとなる。 int n = 100; while ( 0 < --(--(--(--(--(--(--(--(--(--n))))))))) ) { s