Почему ++ i - это l-значение, а i ++ - нет?
C #:
public void test(int n) { Console.WriteLine(n++); Console.WriteLine(++n); } /* Output: n n+2 */