ネタ元 → インクリメント演算子
Xをインクリメントすっとき、++X と書く? X++と書く? ってオハナシ。
僕は++X派。
X++ では Xの値 と 式の値 にズレが生じるわけで、
そのズレを積極的に使いたいんでない限り、
ズレない++Xが好みです。多い日も安心。
ズレを積極的に使った(おそらく)最も有名な例:
// srcからdstへ、文字列のコピー
char* strcpy(char* dst, const char* src) {
char* tmp = dst;
while ( *dst++ = *src++ ) ; // 空ループ
return tmp;
}
*srcから*dstにコピーの後、双方が++されます。
これが前置(*++dst=*++src)だと++の後にコピーすっから
最初の文字がすっとばされますな。