Şimdi Syntax'ı C ile aynı olan ama V diyeceğim bir dil tanımlıyorum. Önce C kodu yazacağım, sonra onun V dilinde yaptığını.
[CODE title="C"]int a = 5;
int b = a++;[/CODE]
[CODE title="V"]int a = 5;
int temp = a;
a = a + 1;
int b = temp;[/CODE]
[CODE title="C"]int a = 5;
int b = ++a;[/CODE]
[CODE title="V"]int a = 5;
a = a + 1;
int b = a;[/CODE]
Aradaki fark bu. Soldan okuma olarak bakınca önce ++ varsa önce artırır, önce değişken varsa o değişkeni bir yerde depolar, çünkü değeri kullanılacaktır, sonra artırır.
Günümüz derleyicileri optimizasyonla o boş değişkeni gerekmediği durumda silse de hem o değişkenin oluşma ihtimalinin olduğunu hem de birinde önce değişkenin değerinin artırıldığını bilmek iyidir. Gerektiği yerde uygun olanı kullanırsın.